首页 > 开发 > Java > 正文

用Java实现可保存状态的数据库生成XML树,源码来了(11)

2020-02-05 14:04:32
字体:
来源:转载
供稿:网友


3. xmltreexsl.java
package com.sitechasia;

import javax.servlet.*;
import javax.servlet.http.*;

import java.io.printwriter;
import java.io.ioexception;

public class xmltreexsl extends httpservlet {
    printwriter out;
    boolean flag=true;
    
        private static final string content_type = "text/xsl";
        private static final string content_xsl = "<?xml version=/"1.0/" encoding=/"gb2312/" ?><xsl:stylesheet xmlns:xsl=/"http://www.w3.org/tr/wd-xsl/">";
        /**initialize global variables*/
        public void init() throws servletexception {
        }
        
        /**process the http get request*/
        public void service(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception {
            
            try{
                httpsession session=request.getsession();
                if  ( session.getattribute("resultedithandle")==null) {
                        flag=false;
                    }
                    else {
                        flag=true;
                    }
                    if (flag) {
                    javax.servlet.http.cookie cookies[] = request.getcookies();
                    string t_click_id = null;
                
                        response.setcontenttype(content_type);
                        out = response.getwriter();
                        out.println(content_xsl);
                        out.println("<xsl:template match=/"//">");
                        out.println("<html>");
                        out.println("<head><style>body{font-size: 10pt;}</style></head>");
                        out.println("<body><xsl:apply-templates select=/"//node/"/></body></html></xsl:template>");
                        if ((cookies == null)||(cookies.length == 0)){
                            out.println("no clicked node");
                        }
                        else {
                            for(int i = 0;i < cookies.length; i++){
                                javax.servlet.http.cookie c =cookies[i];
                                if ( c.getname().equals("clickid")){
                                    t_click_id = c.getvalue();
                                    out.println("<xsl:template match=/"node/">");
                                    
                                    out.println("<xsl:if test=/".[number(id) $eq$ "+c.getvalue()+"]/">");
                                    out.println("当前点击节点的序号:<xsl:value-of select=/"id/"/><br/>");
                                    out.println("节点名称:<xsl:value-of select=/"value/"/><br/>");
                                    out.println("子节点为:<hr/>");
                                    out.println("<xsl:for-each select=/"./node[number(father) $eq$ "+t_click_id+"]/">");
                                    out.println("序号:<xsl:value-of select=/"id/"/><br/>");
                                    out.println("名称:<xsl:value-of select=/"value/"/><br/>");
                                    out.println("</xsl:for-each>");
                                    out.println("</xsl:if>");
                                    out.println("</xsl:template>");
                                    out.println("</xsl:stylesheet>");
                                }
                            }
                        }
                    }
                }
                catch(exception e){
                           system.out.println("errror:"+e.getmessage());
                    e.printstacktrace();
                }
        }
        
        /**clean up resources
         */
        public void destroy() {
        }
}

4.servlet的配置,web.xml文件
<?xml version="1.0" ?>
<!doctype web-app public "-//sun microsystems, inc.//dtd web application 1.2//en" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<servlet>
  <servlet-name>
    xmlservlet
  </servlet-name>
  <servlet-class>
    com.sitechasia.xmlservlet
  </servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>
    xmlservlet
  </servlet-name>
  <url-pattern>
    xs
  </url-pattern>
</servlet-mapping>  
<servlet>
<servlet-name>
    refreshservlet
  </servlet-name>
  <servlet-class>
    com.sitechasia.refreshservlet
  </servlet-class>
</servlet>
<servlet-mapping>
  <servlet-name>
    refreshservlet
  </servlet-name>
  <url-pattern>
    rs
  </url-pattern>
</servlet-mapping>  

<servlet>
  <servlet-name>
    xmltreexsl
  </servlet-name>
  <servlet-class>
    com.sitechasia.xmltreexsl
  </servlet-class>
</servlet>

<servlet-mapping>
  <servlet-name>
    xmltreexsl
  </servlet-name>
  <url-pattern>
    xmltreexsl.xsl
  </url-pattern>
</servlet-mapping>  
</web-app>
  
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表