📄 mybbsbean.java
字号:
package test;
import org.xml.sax.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import java.io.*;
public class MyBBSBean
{
private static Document doc=null;
private String strCurrentId = null;
public MyBBSBean(){}
public void setDocument(Document doc)
{
this.doc=doc;
}
//下面的方法是向文档树中插入新的元素的方法
public void insertElement(String strRootID, String strUserName, String strTitle, String strContent )
{
Element oRoot;
if( null == strRootID || 0 == strRootID.length()) //如果是新发表文章
oRoot = doc.getDocumentElement();
else //如果是回复文章
oRoot = (Element)doc.getElementsByTagName( strRootID ).item(0).getParentNode();
insert(oRoot, strUserName, strTitle, strContent);
}
//实际的插入工作在这格方法内完成
public void insert( Element oRoot, String strUserName, String strTitle, String strContent)
{
Element username = doc.createElement("username");
Text username_t= doc.createTextNode(strUserName);
username.appendChild(username_t);
Element title = doc.createElement("title");
Text title_t = doc.createTextNode(strTitle);
title.appendChild(title_t);
Element content = doc.createElement("content");
Text content_t = doc.createTextNode(strContent);
content.appendChild(content_t);
//利用当前时间的微秒计时生成ID标识
Element oId = doc.createElement("id"+String.valueOf( System.currentTimeMillis()));
Element oNoteItem = doc.createElement("noteitem");
oNoteItem.appendChild(oId);
oNoteItem.appendChild(username);
oNoteItem.appendChild(title);
oNoteItem.appendChild(content);
oRoot.appendChild( oNoteItem);
}
//下面的方法输出文档信息
public void put(Writer out, Element oTarget)
{
try{
if( null == oTarget) return;
NodeList oChildList = oTarget.getChildNodes();
if( null == oChildList)
{
out.write("Error!");
return;
}
int ChildCount = oChildList.getLength();
if( oTarget.getNodeName().equals("notepad") || oTarget.getNodeName().equals("noteitem"))
{
if( oTarget.getNodeName().equals("noteitem")) out.write("<li>");
out.write("<ul>");
for( int i = 0 ; i < ChildCount ; i ++)
{
if( oChildList.item(i) instanceof Element)
{
put(out, (Element)oChildList.item(i));
}
}
out.write("</ul>");
if( oTarget.getNodeName().equals("noteitem")) out.write("</li>");
}
else if( oTarget.getNodeName().indexOf("id") == 0 )
{
strCurrentId = oTarget.getNodeName();
}
else if( oTarget.getNodeName().equals("username")|| oTarget.getNodeName().equals("content"))
{
out.write("<li>");
if(oTarget.getNodeName().equals("username"))
out.write("用户名为:");
else
out.write("内容为:");
NodeList oTextList = oTarget.getChildNodes();
for( int i = 0 ; i < oTextList.getLength() ; i ++ )
{
out.write( ((Text)oTextList.item(i)).getData());
}
out.write("</li>");
}
else if( oTarget.getNodeName().equals("title"))
{
out.write("<li>标题为:<a href='postform.jsp?reply="+strCurrentId+"'>");
NodeList oTextList = oTarget.getChildNodes();
for( int i = 0 ; i < oTextList.getLength() ; i ++ )
{
out.write( ((Text)oTextList.item(i)).getData());
}
out.write("</a></li>");
}
}catch(Exception e)
{
e.printStackTrace(System.err);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -