⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 topicconfigxml.java

📁 基于struct结构的jsp
💻 JAVA
字号:
package com.ntsky.xml.bbs;

import java.io.*;
import java.util.*;
import org.dom4j.*;
import org.dom4j.io.*;
import org.dom4j.dom.*;
import org.apache.log4j.Logger ;

import com.ntsky.xml.XMLPath;
import com.ntsky.xml.XMLReadWrite;
import com.ntsky.xml.bbs.dto.TopicConfigDTO;

/**
 * <p>Title: Ntsky OpenSource BBS</p>
 * <p>Description: 帖子配置的xml操作类</p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: WWW.FM880.COM</p>
 * @author 姚君林
 * @version 1.0
 */

public class TopicConfigXML {
    private final static Logger logger = Logger.getLogger(LinkXML.class);
    private static TopicConfigXML topicConfigXML = null;
    private static Object initLock = new Object();
    public static TopicConfigXML getInstance() {
        if (topicConfigXML == null) {
            //使用synchronzed保证一次只有一个实例能访问DBUser对象
            synchronized (initLock) {
                if (topicConfigXML == null) {
                    try {
                        topicConfigXML = new TopicConfigXML();
                        logger.info("获取数据库处理的实例成功");
                    }
                    catch (Exception e) {
                        System.err.println(
                            "TopicConfigXML Exception loading class: " +
                            e.getMessage());
                        e.printStackTrace();
                    }
                }
            }
        }
        return topicConfigXML;
    }

    /**
     * 写信息
     */
    public void writeXML(TopicConfigDTO topicConfigDTO){
    }

    /**
     * 修改信息
     */
    public void upTopicConfig(TopicConfigDTO topicConfigDTO){
        try{
            Document document = XMLReadWrite.getInstance().read(XMLPath.NTSKY_TOPICCONFIG);
            List list = document.selectNodes("//ntsky ");
            Iterator rs = list.iterator();
            while(rs.hasNext()){
                Element element=(Element)rs.next();
                logger.info("节点列表......");
                upNode(element, "topicNew" ,topicConfigDTO.getTopicNew());
                upNode(element, "topicCommon" ,topicConfigDTO.getTopicCommon());
                upNode(element, "topicHot" ,topicConfigDTO.getTopicHot());
                upNode(element, "topicElite" ,topicConfigDTO.getTopicElite());
                upNode(element, "topicTop" ,topicConfigDTO.getTopicTop());
                upNode(element, "topicLock" ,topicConfigDTO.getTopicLock());
                upNode(element, "topicpoll" ,topicConfigDTO.getTopicpoll());
                upNode(element, "topicNum" ,String.valueOf(topicConfigDTO.getTopicNum()));
            }
            XMLReadWrite.getInstance().write(document, XMLPath.NTSKY_TOPICCONFIG);
         }
         catch (Exception ex) {
             System.out.print("写入XML数据发生错误  : " + ex.getMessage());
         }
    }

    public synchronized void upNode(Element element ,String node ,String value){
        Iterator rs = element.elementIterator(node);
        while (rs.hasNext()) {
            Element elt = (Element) rs.next();
            if ("topicNew".equals(node)) {
                if("".equals(value)){
                    value = "*.gif";
                    elt.setText(value);
                }
                else{
                    elt.setText(value);
                }
            }
            if ("topicCommon".equals(node)) {
                if("".equals(value)){
                    value = "*.gif";
                    elt.setText(value);
                }
                else{
                    elt.setText(value);
                }
            }
            if ("topicHot".equals(node)) {
                if("".equals(value)){
                    value = "*.gif";
                    elt.setText(value);
                }
                else{
                    elt.setText(value);
                }
            }
            if ("topicElite".equals(node)) {
                if("".equals(value)){
                    value = "*.gif";
                    elt.setText(value);
                }
                else{
                    elt.setText(value);
                }
            }
            if ("topicTop".equals(node)) {
                if("".equals(value)){
                    value = "*.gif";
                    elt.setText(value);
                }
                else{
                    elt.setText(value);
                }
            }
            if ("topicLock".equals(node)) {
                if("".equals(value)){
                    value = "*.gif";
                    elt.setText(value);
                }
                else{
                    elt.setText(value);
                }
            }
            if ("topicpoll".equals(node)) {
                if("".equals(value)){
                    value = "*.gif";
                    elt.setText(value);
                }
                else{
                    elt.setText(value);
                }
            }
            if ("topicNum".equals(node)) {
                if("".equals(value)){
                    value = "0";
                    elt.setText(value);
                }
                else{
                    elt.setText(value);
                }
            }
        }
    }

    /**
     * 删除信息
     */
    public void delXML(){
    }

    /**
     * 获取xml信息
     */
    public TopicConfigDTO getTopicConfigXML(){
        try {
            Document document = XMLReadWrite.getInstance().read(XMLPath.NTSKY_TOPICCONFIG);
            //枚举所有的节点
            Element root = document.getRootElement();
            TopicConfigDTO topicConfigDTO = new TopicConfigDTO();
            //获取节点
            setNode(topicConfigDTO,root,"topicNew");
            setNode(topicConfigDTO,root,"topicCommon");
            setNode(topicConfigDTO,root,"topicHot");
            setNode(topicConfigDTO,root,"topicElite");
            setNode(topicConfigDTO,root,"topicTop");
            setNode(topicConfigDTO,root,"topicLock");
            setNode(topicConfigDTO,root,"topicpoll");
            setNode(topicConfigDTO,root,"topicNum");
            return topicConfigDTO;
        }

        catch (DocumentException ex) {
            System.out.println("Document Exception : " + ex.getMessage());
        }
        catch (Exception ex) {
            logger.error("获取XML信息产生错误 : " + ex.getMessage());
            ex.printStackTrace();
        }
        return null;
    }
    public synchronized void setNode(TopicConfigDTO topicConfigDTO ,Element element ,String node ){
        Iterator rs = element.elementIterator(node);
        while (rs.hasNext()) {
            Element elt = (Element) rs.next();
            if ("topicNew".equals(node)) {
                topicConfigDTO.setTopicNew(elt.getText());
                logger.info("topicNew节点的值 :" + elt.getText());
            }
            if("topicCommon".equals(node)){
                topicConfigDTO.setTopicCommon(elt.getText());
                logger.info("topicCommon节点的值 :" + elt.getText());
            }
            if("topicHot".equals(node)){
                topicConfigDTO.setTopicHot(elt.getText());
                logger.info("topicHot节点的值 :" + elt.getText());
            }
            if("topicElite".equals(node)){
                topicConfigDTO.setTopicElite(elt.getText());
                logger.info("topicElite节点的值 :" + elt.getText());
            }
            if("topicTop".equals(node)){
                topicConfigDTO.setTopicTop(elt.getText());
                logger.info("topicTop节点的值 :" + elt.getText());
            }
            if("topicLock".equals(node)){
                topicConfigDTO.setTopicLock(elt.getText());
                logger.info("topicLock节点的值 :" + elt.getText());
            }
            if("topicpoll".equals(node)){
                topicConfigDTO.setTopicpoll(elt.getText());
                logger.info("topicpoll节点的值 :" + elt.getText());
            }
            if("topicNum".equals(node)){
                topicConfigDTO.setTopicNum(Integer.parseInt(elt.getText()));
                logger.info("topicNum节点的值 :" + elt.getText());
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -