<action path="/productEdit" type="product.ProductEditAction"
name="productForm" validate="true" parameter="method" input="/jsp/product/productEdit.jsp">
<forward name="editProduct" path="/jsp/product/productEdit.jsp" />
<forward name="toAllProducts" path="/productSearch.do?method=showAll" redirect="true"/>
<forward name="manageResourceGroups" path="/jsp/product/manageResourceGroups.jsp"/>
</action>
<action path="/productSearch" type="product.ProductSearchAction"
name="productForm" parameter="method">
<forward name="toAllProducts" path="/jsp/product/productSearch.jsp" />
</action>
上面是我们常见的struts配置文件,在两个action当中都配置了同样的一个ActionForm:productFrom。 当我们在productEdit.do处理当中,可以通过mapping.findForward("toAllProducts")转到productSearch.do当中来。
如果我们不写redirect,那么两者使用同一个request,那么是不是在productEdit.do中修改了productForm的值以后,productSearch.do处理就能看到呢?
答案是否定的
struts设计上认为ActionForm是用来jsp和Action之间进行传递的bean,不是用来在Action之间传递的数据对象!
那么,当我们有共享数据需求的时候,就只能在request或者session当中进行保存了。
本文探讨了Struts框架中ActionForm的作用及其在不同Action间数据传递的限制。指出ActionForm并非为Action间共享数据设计,而是用于JSP与Action之间的数据交换。
6052

被折叠的 条评论
为什么被折叠?



