用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>