?? 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 + -