我想知道如何在第一个jsp页面上显示所有产品数据。 我从数据库检索产品数据并返回列表数组。然后,我不知道如何在jsp中显示这个数组。如何使用struts在第一页显示所有产品?
我想打电话给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>
path =“/ showProduct”在任何jsp中都没有,但我添加了这个路径,因为标签必须有路径。 :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的路径不能为空
这段代码有什么问题? 如果您不介意,请解释我。 谢谢。
我改变了,就像你,但我有一个错误** javax.servlet.jsp .JspException:在任何范围内找不到bean:“prodList”**为什么会发生此错误?请解释我。谢谢。 –
你还没有添加这一行request.setAttribute(“prodList”,prodList);在执行方法中,在返回语句 –
之前我已经添加了request.setAttribute(“prodList”,prodList);在执行方法中。但是我有这个错误** javax.servlet.jsp.JspException:在任何范围**中找不到bean:“prodList”。我不知道如何解决这个问题。 :( –