jsp mvc xml bbs(0分)

  • 主题发起人 主题发起人 liu_xiao_bo
  • 开始时间 开始时间
L

liu_xiao_bo

Unregistered / Unconfirmed
GUEST, unregistred user!
http://www.itpub.net/showthread.php?s=&threadid=43329
 
上面的贴图看不到,又没有文字说明,不知道想干什么。
 
不可能看不到!
那是个采用mvc结构(no struts)的bbs,采用xml+xsl方式显示,类似delphibbs.
下一步将采用JSTL,action 只产生xml data,xml和xsl的结合放到jsp里。
这是home代码。
----------------------
public class Home implements Action {
public ActionForward excute(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException ,ActionException{
HomeDAO homeDAO=new HomeDAO();
String xmlString=homeDAO.getXML();
PrintWriter out = response.getWriter();
out.println(xmlString);
out.flush();
out.close();
return null;
}
}
----------------------
public class HomeDAO {
private DBConnectionManager dbcm = DBConnectionManager.getInstance();
public String getXML()throws ActionException{
Connection connection=null;
try {
XMLData xmlData=new XMLData("home.xsl");
xmlData.append("<home>/n");
xmlData.append("<forums>/n");
connection=dbcm.getConnection();
DBAccess dba=new DBAccess(connection);
String sql="SELECT f_id,f_name,f_u_id,u_name,f_info FROM forum,user WHERE forum.f_u_id=user.u_id";
ResultSet rs=dba.openSelect(sql);
while(rs.next()){
xmlData.append("<forum>/n");
xmlData.append("<f_id>");
xmlData.append(rs.getString(1));
xmlData.append("</f_id>/n");
xmlData.append("<f_name>");
xmlData.append(rs.getString(2));
xmlData.append("</f_name>/n");
xmlData.append("<f_u_id>");
xmlData.append(rs.getString(3));
xmlData.append("</f_u_id>/n");
xmlData.append("<f_u_name>");
xmlData.append(rs.getString(4));
xmlData.append("</f_u_name>/n");
xmlData.append("<f_info>");
xmlData.append(rs.getString(5));
xmlData.append("</f_info>/n");
xmlData.append("</forum>/n");
}
rs.close();
dba.closeSelect();
xmlData.append("</forums>/n");
xmlData.append("</home>/n");
return xmlData.toString();
} catch (SQLException ex) {
//
throw new ActionException("db_error!");
}finally{
try {
dbcm.freeConnection(connection);
} catch (SQLException ex) {
//
}
}
}
}
 
上面的 URL 本身是 PHP 的 VBB, 贴子里的贴图就是显示不出来。
看您上面贴的程序感觉思路不错,对 JSTL 和 XSLT 我一向很喜欢。最近一直在宣传 JSTL。
我给您个建议,可以用 JSTL 来生成 XML,看下面的贴子
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1132573
也许会大大简化您那一大堆的 xmlData.append
有可能的话,发完整的源程序给我,我对 MVC 的 C 也感兴趣,想看看您是否使用了 filter。
mailto:yiyisun@yahoo.com
 
jsp page 只用来做view tier!按您说的那样好象不能分清m,v,c tier。
我用xmlData是省得在action-dao-jsp间用bean,用xml代替。
正想写bean,虽然很麻烦。action 只产生bean.
从bean到xml的生成放到jsp里,这样修改jsp就能产生xml或html...
filter 在身份验证,encoding,xml服务器端转换(未完)过程中用到。
源程序正在改,现不便给您,先发几张图片吧。
-----------------------------------------------------------------
<!--home.jsp-->
<%@page language="java" contentType="text/html;
charset=shift_jis" %>
<%@page import="liuxiaobo.jf.bean.*,java.util.Iterator"%>
<?xml version="1.0" encoding="shift_jis" ?>
<?xml-stylesheet type="text/xsl" href="home.xsl"?>
<home>
<forums>
<jsp:useBean id="homeBean" scope="request" class="liuxiaobo.jf.bean.HomeBean"/>
<%
Iterator forumIterator=homeBean.getForumIterator();
while(forumIterator.hasNext()){
Forum forum=(Forum)forumIterator.next();
%>
<forum>
<f_id><%=forum.getF_id()%></f_id>
<f_name><%=forum.getF_name()%></f_name>
<f_u_id><%=forum.getF_u_id()%></f_u_id>
<f_u_name><%=forum.getF_u_name()%></f_u_name>
<f_info><%=forum.getF_info()%></f_info>
</forum>
<%
}
%>
</forums>
</home>
 
现在由jsp控制是
1。xml+xslt方式client端显示(也能用xml transform Filter转换成html)
2。生成html。
需要强调的是:两者都能用JSTL.
 
谢谢, email 收到。
 
接受答案了.
 

Similar threads

D
回复
0
查看
851
DelphiTeacher的专栏
D
I
回复
0
查看
1K
import
I
I
回复
0
查看
551
import
I
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部