2012-10-11 45 views
0

我想知道如何在第一個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的路徑不能爲空

這段代碼有什麼問題? 如果您不介意,請解釋我。 謝謝。

回答

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> 
+0

我改變了,就像你,但我有一個錯誤** javax.servlet.jsp .JspException:在任何範圍內找不到bean:「prodList」**爲什麼會發生此錯誤?請解釋我。謝謝。 –

+0

你還沒有添加這一行request.setAttribute(「prodList」,prodList);在執行方法中,在返回語句 –

+0

之前我已經添加了request.setAttribute(「prodList」,prodList);在執行方法中。但是我有這個錯誤** javax.servlet.jsp.JspException:在任何範圍**中找不到bean:「prodList」。我不知道如何解決這個問題。 :( –

0

你應該叫http://localhost:8080/StrutsPrj/showProduct.do但不http://localhost:8080/StrutsPrj/jsp/showAllProduct.jsp

相關問題