如何使用struts在第一页上显示所有产品?

时间:2012-10-11 08:00:01

标签: java jsp struts

我想知道如何在第一个jsp页面上显示所有产品数据。 我从数据库中检索了产品数据并返回 List数组。然后,我不知道如何在jsp中显示这个数组。

我想调用 http:// localhost:8080 / StrutsPrj / jsp / showAllProduct.jsp 该页面将显示在所有产品上。但我不知道如何在struts-config.xml中配置第一页以及如何调用此页面的相关操作。

请检查以下代码:

ShowAllProductAction :::::::

Database db = new Database();
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse res){
    ProductForm myForm = (ProductForm)form;
    List<ProductForm> prodList = db.getProduct();
    myForm.setProdList(prodList);
    return mapping.findForward("success");
}

struts-config.xml ::::::

<form-beans>
     <form-bean name="ProdForm" type="action.ProductForm"/>
</form-beans>

<action-mappings>
  <action name="ProdForm" path="/showProduct" type="action.ShowAllProduct" scope="request" >
    <forward name="success" path="/jsp/showProduct.jsp"/>
  </action>
</action-mappings>
在任何jsp中都没有

path =“/ showProduct”但是我添加了这个路径,因为标签必须有路径。 :d

showAllProduct.jsp ::::::

<logic:notEmpty name="userBean" property="searchControl">
   <c:forEach var="i" begin="${userBean.begin}" end="${userBean.end}" step="1">
    ${userBean.prodList[i-1].productName}<br/>
    ${userBean.prodList[i-1].modelNo}<br/>
    ${userBean.prodList[i-1].brief}<br/>
    ${userBean.prodList[i-1].price}<br/><hr/>
   </c:forEach>
</logic:notEmpty>

我有一个错误: java.lang.IllegalArgumentException:ForwardConfig的路径不能为空

这段代码出了什么问题? 如果你不介意,请解释我。 感谢。

2 个答案:

答案 0 :(得分:1)

应该是

Database db = new Database(); 
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse res) {     
     List<ProductForm> prodList = db.getProduct();     
     request.setAttribute("prodList", prodList);
     return mapping.findForward("success"); 
} 

在jsp中

<logic:iterate name="prodList" id="product">
<p>
  <bean:write name="product" property="productName"/>
  <bean:write name="product" property ="modelNo"/>
  etc ...
</p>
</logic:iterate>

答案 1 :(得分:0)

您应该致电http://localhost:8080/StrutsPrj/showProduct.do而不是http://localhost:8080/StrutsPrj/jsp/showAllProduct.jsp