我开发的是一个论坛系统~在回复模块上出现了点问题~数据提交不到数据库上,数据库上的信息也显示不到页面上。我的后台代码如下:
public ActionForward openShow(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response){ 
HttpSession session=request.getSession();
session.setAttribute("mainPage","/pages/show/bbs/openRootShow.jsp");String bbsId=request.getParameter("bbsId");
if(bbsId==null||bbsId.equals(""))
bbsId=(String)session.getAttribute("bbsId");
else
session.setAttribute("bbsId",bbsId);String sql="";
Object[] params={bbsId};
OpDB myOp=new OpDB();sql="select * from tb_bbs where bbs_id=?";
BbsForm bbsRootSingle=myOp.OpBbsSingleShow(sql, params);
session.setAttribute("bbsRootSingle",bbsRootSingle);String asker=bbsRootSingle.getBbsSender();
sql="select * from tb_user where user_name=?";
params[0]=asker;
UserForm askUser=myOp.OpUserSingleShow(sql, params);
session.setAttribute("askUser",askUser); int perR=6;
String currentP=request.getParameter("showpage");
if(currentP==null||currentP.equals(""))
currentP=(String)session.getAttribute("currentPopen");
else
session.setAttribute("currentPopen",currentP);
String gowhich="user/openShow.do?method=openShow"; myOp.setMark(true); myOp.setPageInfo(perR, currentP, gowhich); 
sql="select * from tb_bbsAnswer where bbsAnswer_rootID=? order by bbsAnswer_sendTime";
params[0]=bbsId;
List answerbbslist=myOp.OpBbsAnswerListShow(sql, params);
CreatePage page=myOp.getPage();session.setAttribute("answerbbslist",answerbbslist); 
session.setAttribute("page",page);sql="select * from tb_user where user_name=?";
Map answerMap=new HashMap();
for(int i=0;i<answerbbslist.size();i++){ 
String answerer=((BbsAnswerForm)answerbbslist.get(i)).getBbsAnswerSender();
if(!answerMap.containsKey(answerer)){
params[0]=answerer;
UserForm answerUser=myOp.OpUserSingleShow(sql, params);
answerMap.put(answerer,answerUser); 
}
}
session.setAttribute("answerMap",answerMap);return mapping.findForward("success");
}
public ActionForward answerBbs(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response){
HttpSession session=request.getSession(); 
BbsAnswerForm bbsAnswerForm=(BbsAnswerForm)form;String rootId=(String)session.getAttribute("bbsId"); 
String bbsTitle=Change.HTMLChange(bbsAnswerForm.getBbsAnswerTitle());
String bbsContent=Change.HTMLChange(bbsAnswerForm.getBbsAnswerContent());
String bbsSender=((UserForm)session.getAttribute("logoner")).getUserName();
String bbsSendTime=Change.dateTimeChange(new Date());
String bbsFace=bbsAnswerForm.getBbsFace(); String sql="insert into tb_bbsAnswer(bbsAnswer_rootID,bbsAnswer_title,bbsAnswer_content,bbsAnswer_sender,bbsAnswer_sendTime,bbsAnswer_face)values(?,?,?,?,?,?)";
Object[] params=new Object[6];params[0]=rootId;
params[1]=bbsTitle;
params[2]=bbsContent;
params[3]=bbsSender;
params[4]=bbsSendTime;
params[5]=bbsFace;ActionMessages messages=new ActionMessages();
String forwardPath="";OpDB myOp=new OpDB();
int i=myOp.OpUpdate(sql, params);
if(i<=0){
System.out.println("回复帖子失败!");
forwardPath="error";
messages.add("userOpR",new ActionMessage("luntan.bbs.answerR.E"));
}
else{
System.out.println("回复帖子成功!");
forwardPath="success";
messages.add("userOpR",new ActionMessage("luntan.bbs.answerR.S")); 
bbsAnswerForm.clear(); 

saveErrors(request,messages);
return mapping.findForward(forwardPath);
}

解决方案 »

  1.   

    相应页面代码是:
     <table border="1" width="99%" cellspacing="0" cellpadding="0" bordercolor="#E3E3E3" bordercolorlight="#E3E3E3" bordercolordark="white" style="margin-top:2;word-break:break-all">
      <tr height="30"><td background="images/index/classT.jpg" style="text-indent:5"><b><font color="white">■ 显示回复帖子</font></b></td></tr>
      </table>
      <!-- 不存在回复帖子列表 -->
      <logic:notPresent name="answerbbslist" scope="session">
      <table border="1" width="99%" cellspacing="0" cellpadding="0" bordercolor="#E3E3E3" bordercolorlight="#E3E3E3" bordercolordark="white" rules="all">
      <tr height="70" bgcolor="#F9F9F9"><td align="center"><li>暂时没有回复帖,欢迎添加!</li></td></tr>
      </table>
      </logic:notPresent>   
      <!-- 存在回复帖子列表 -->
      <logic:present name="answerbbslist" scope="session">
      <!-- 回复帖子列表为空 -->
      <logic:empty name="answerbbslist" scope="session">
      <table border="1" width="99%" cellspacing="0" cellpadding="0" bordercolor="#E3E3E3" bordercolorlight="#E3E3E3" bordercolordark="white" rules="all">
      <tr height="70" bgcolor="#F9F9F9"><td align="center"><li>暂时没有回复帖,欢迎添加!</li></td></tr>
      </table>   
      </logic:empty>
      <!-- 回复帖子列表不为空 -->
      <logic:notEmpty name="answerbbslist" scope="session">
      <!-- 遍历回复帖子列表 -->
      <logic:iterate id="answerbbsSingle" name="answerbbslist" indexId="idind">
      <bean:define id="answererName" name="answerbbsSingle" property="bbsAnswerSender"/>
      <table border="1" width="99%" cellspacing="0" cellpadding="0" bordercolor="#E3E3E3" bordercolorlight="#E3E3E3" bordercolordark="white" rules="all" style="word-break:break-all">
      <tr height="25" bgcolor="#F0F0F0">
      <td style="text-indent:5" width="27%">▲${(page.currentP-1)*page.perR+(idind+1)} 楼</td>
      <td colspan="2">【回复主题】<bean:write name="answerbbsSingle" property="bbsAnswerTitle" filter="false"/></td>   
      </tr>   
      <tr bgcolor="#F9F9F9">
    <!-- 回复者信息 -->   
      
    <logic:iterate id="singleMap" name="answerMap">
    <logic:equal value="${answererName}" name="singleMap" property="key">
      <bean:define id="answerSingle" name="singleMap" property="value"/>
    </logic:equal>
    </logic:iterate>
        
      <td rowspan="3" align="center" valign="top">
      <table width="95%" height="150" border="0" cellspacing="0" cellpadding="0" style="margin-top:3">
      <tr height="35%">
      <td align="center" width="30%"><img src="images/face/user/${answerSingle.userFace}" style="border:1 solid;border-color:#E0E0E0"></td>
      <td style="text-indent:10">
      <a href="bbs/user/getUserSingle.do?method=getUserSingle&userName=${answererName}">
      <b>${answererMap[answererName].userName}</b>
      </a>
      </td>
      </tr>
      <tr>
      <td align="right">性别:</td>
      <td style="text-indent:10">
      ${answerMap[answererName].userSex}
      </td>
      </tr>
      <tr>
      <td align="right">OICQ:</td>
      <td style="text-indent:10">
      ${answerMap[answererName].userOICQ}
      </td>
      </tr>
      <tr>
      <td align="right">来自:</td>
      <td style="text-indent:10">
      ${answerMap[answererName].userFrom}
      </td>
      </tr>   
      </table>
      </td>
      <!-- 回复帖子信息 -->
      <td width="10%">【表情】<img src="images/face/bbs/${answerbbsSingle.bbsFace}"></td>
      <td align="right" height="30">回复时间:『<bean:write name="answerbbsSingle" property="bbsAnswerSendTime"/>』&nbsp;</td>
      </tr>
      <tr height="130"><td colspan="2" valign="top" style="padding-top:6;padding-left:6;padding-right:6;padding-bottom:6"><bean:write name="answerbbsSingle" property="bbsAnswerContent" filter="false"/></td></tr>
      <!-- 删除回复帖子超链接 -->
      <tr height="30" bgcolor="#F9F9F9">
      <td align="right" colspan="2">
      ◆<a href="needLogin/admin/deleteAnswer.do?method=deleteAnswerBbs&bbsId=${bbsRootSingle.bbsId}&delbbsAnswerId=${answerbbsSingle.bbsAnswerId}">删除回复</a>&nbsp;
      ◆<html:link href="view/indexTemp.jsp" anchor="top">查看根帖</html:link>&nbsp;
      </td>   
      </tr>   
      </table>
      <table border="1" width="99%" cellspacing="0" cellpadding="0" bordercolor="#E3E3E3" bordercolorlight="#E3E3E3" bordercolordark="white">
      <tr height="15"><td background="images/index/boardE.jpg"></td></tr>
      </table>
      </logic:iterate>   
      </logic:notEmpty>
      </logic:present>
      <!-- ****************回复帖子**************** -->
      <html:link linkName="answer"/>
      <table border="1" width="99%" cellspacing="0" cellpadding="0" bordercolor="#E3E3E3" bordercolorlight="#E3E3E3" bordercolordark="white" rules="all">
      <html:form action="needLogin/answerBbs.do">
      <input type="hidden" name="method" value="answerBbs">
    <tr bgcolor="#F0F0F0" height="30"><td colspan="2" style="text-indent:5" background="images/index/classT.jpg"><b><font color="white">■ 回复【<bean:write name="bbsRootSingle" property="bbsTitle" filter="false"/>】帖子</font></b></td></tr>   
      <tr>
      <td width="27%" bgcolor="#F9F9F9" align="center" valign="top">
      <table border="0" width="90%" height="100%">
      <tr height="30%">
      <td valign="top">
      <table border="0" style="margin-top:10">
      <tr>
    <td><html:errors property="bbsAnswerTitle"/></td>
      </tr>
    <tr>
      <td><html:errors property="bbsAnswerContent"/></td>
    </tr>
      </table>
      </td>
      </tr>
      <tr>
      <td valign="top">
      <table border="0" width="90%" style="margin-top:10">
      <tr><td>发帖许可</td></tr>
      </table>
      </td>
      </tr>
      </table>
      </td>
      <td>
      <table border="1" width="100%" cellspacing="0" cellpadding="0" bordercolor="#E3E3E3" bordercolorlight="#E3E3E3" bordercolordark="white" rules="rows">
      <tr height="30">
      <td width="15%" align="center">【主题】</td>
      <td align="center"><html:text property="bbsAnswerTitle" size="77" maxlength="35"/></td>
      </tr>
      <tr bgcolor="#F9F9F9">
      <td align="center">【表情】</td>
      <td><%@ include file="/pages/add/face.jsp" %></td>
      </tr>
      <tr height="30">
      <td align="center">【内容】</td>
      <td align="center"><%@ include file="/pages/add/font.jsp"%></td>
      </tr>
      <tr height="30" bgcolor="#F9F9F9">
      <td colspan="2" align="right"><%@ include file="/pages/add/count.jsp" %></td>
      </tr>
      <tr><td colspan="2" align="center"><html:textarea property="bbsAnswerContent" rows="15" cols="79" styleId="content" onkeydown="check(content,ContentUse,ContentRem,1000)" onkeyup="check(content,ContentUse,ContentRem,1000)" onchange="check(content,ContentUse,ContentRem,1000)"/></td></tr>
      <tr height="30" align="center">
      <td colspan="2">
      <html:submit value="回复帖子"/>
      <html:reset value="重新填写"/>
      </td>
      </tr>
      </table>
      </td>
      </tr>
      </html:form>
      </table>
      </center>
      </body>
    </html>每次显示运行到了
    select * from tb_bbs where bbs_id=?
    select * from tb_user where user_name=?
    select * from tb_bbsAnswer where bbsAnswer_rootID=? order by bbsAnswer_sendTime
    后面就运行不下去了~