例如这样的小例子(book.jsp、BookForm(包括bookId,bookName,bookAuthor)、BookAction):
JSP页面(只有一个页面book.jsp)中主要包括<html:form><html:text>标签,<新增><更新><删除><确定><取消>五个按钮(<确定>、<取消>按钮是点<更新><删除>时出现在JSP页面的)
功能包括:添加(需填写bookName,bookAuthor两项,bookId由数据库自动添加)
          更新(实际是两步:根据bookId先显示信息,然后点“确定”再执行更新操作)
          删除(两步,根据bookId先显示信息,然后点“确定”再执行删除操作)
BookForm和BookAction我都会写,唯独jsp中该怎么显示不会,望各位帮帮忙,尽量细,刚学struts,谢谢了!只有一个页面book.jsp,这是关键。
现在糊涂的就是,如何在<html:text ....>中显示数据.现在碰到的问题是做了<新增>之后,页面仍然显示着"bookID"、"bookName"、"bookAuthor"信息。
我现在有点乱,描述起来有点问题,各位见谅啊

解决方案 »

  1.   

    用Struts标签把你在Action里存的数据取出来在页面上显示就行了。
      

  2.   

    1.先用html 或dreamveaer画个页面出来  
    2.画完以后 把标签改成struts的标签  
    3.把显示值的行 用struts的标签包含起来
    4. value的值改成变量 
    5.再添加一些增删改查的事件就行了
      

  3.   

    现在出现的问题是这样,“新增”我已经实现了,按常理来说,Action操作完成返回到book.jsp页面后,输入框<html:text>中应该没有数据,可是现在其中有数据,很愁人啊。
    我没有用到<logic:   >标签,只有<html:form action="bookInsert"></html:form>,和<html:text property="bookName" ... /> 这两种struts标签
    希望能够帮我实现,谢谢。
    晚上有课,先走了,回来继续。麻烦各位了!
      

  4.   

    你是想做到返回jsp页面后,页面上的输入框不显示输入的数据吧
    <action>里有一个scope属性,配置为request或者session
    如果配置为request,在action结束时request.removeAttribute("userForm");
    如果配置为session,在action结束时session.removeAttribute("userForm");
    其中userForm是你在action里配置actionform的name
    好像是这样,我有点忘了。
      

  5.   

    页面中的按钮使用javascript控制提交给那个action处理。
      

  6.   

    在jsp中显示很简单呀,你在你的Action中查询出你需要的数据,然后放在一个集合里,转发到jsp页面,从request或者session中取出这个集合,然后遍历集合,不知道你有没有学标签,看下面的代码<table>
    <tr><td>id</td><td>name</td>author</td></tr>
    <%for(int i=0;i<list.size();i++){%>
    <tr><td><%=list.get(i).getId()%></td><td><%=list.get(i).getName()%></td><%=list.get(i).getAuthor()%></td></tr>
    <%}%>
    </table>
    这个是不用标签的方法用标签更简单啦
    <table>
    <tr><td>id</td><td>name</td>author</td></tr>
    <s:iterator value="session.list" var="bean">
      <tr><td>${bean.id}</td><td>${bean.name}</td><td>${bean.author}</td></tr>
    </s:iterator>
    </table>
      

  7.   

    上课回来了,首先谢谢各位的解答!
    我现在的疑惑就是,做“新增”操作时,表单中的数据填充到bookForm后,没有消失(应该是form-bean的生命周期的问题),4楼的兄弟给了一个方法request.removeAttribute("bookForm");或许有用吧。
      

  8.   

    方法我试过了,就是4楼名为“狗熊丫丫”的,确实能够达到:“新增”操作结束,输入框不显示数据的问题。
    一个问题解决,有点小高兴啊,哈哈。
    可是还有问题,我现在的jsp页面中除了<html:form>和<html:text>没有其他的标签了,我想借助于变量显示数据,如下:
    <html:text property="bookId" value="">
    即在value=“”中通过其他变量或者标签之类的显示,需要怎么做呢。
    麻烦大家再给点帮助,小弟先谢过了。
    以下是写的一些代码<html:form action="/bookInsert">
       书籍编号:<html:text property="bookId" value=""><br>
       书籍名: <html:text property="bookName" value=""><br>
       作者:   <html:text property="bookAuthor" value=""><br>
       <div id="div3btn" style="display:">
     <input type="button" value="新增" onclick="bookInsert()">
     <input type="button" value="更新" onclick="bookFind()">
     <input type="button" value="删除" onclick="bookFind()">
        </div>
        <div id="div2btn" style="display:none">
    <input type="button" value="确定" onclick="bookDo()">
    <input type="button" value="取消" onclick="bookCancel()">
        </div>
    </html:form>(上面的代码,运行起来肯定满足不了需求,只是贴出来,方便大家修改)
    期待中我不是猪,只要思路对,即使没学过,我会去找资料看的,所以专业点的也没关系,呵呵。
      

  9.   

    楼主这下又要自动回显是吗?
    1.你填写数据到action,数据保存到actionform里,action结束后,跳回到jsp
      这时候actionform还是有的,所以它会自动回显
    2.如果actionform里存的对象的话,用EL表达式取${actionform.user.username}
      当然也可以${actionform.bookName}