我想知道如何在第一个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的路径不能为null
此代码有什么问题?
如果您不介意,请向我解释。
谢谢。
最佳答案
它应该是
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>
关于java - 如何使用struts在首页显示所有产品?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12834851/