2011-02-11 41 views
1

我在我的jsp頁面中使用了spring標籤。包括基於一些條件的jsp頁面

現在我有一種情況,我正在使用窗體:選擇一個下拉菜單。

如果我在下拉菜單中選擇第一個值「normal.jsp」頁面應該顯示。如果我選擇第二個值「reverse.jsp」頁面應顯示。

這兩個jsp頁面應該顯示在下拉菜單下方的主頁面中。

在jsp中實現這一點的最佳方法是什麼?

我正在嘗試使用jstl標籤,但表單沒有顯示出來。

這是我寫的

代碼
<tr> 
     <td>Types of Auction :-</td> 
     <td> 
      <form:select id="auctionType" path="auctionType"> 
       <form:option value="0" label="Select" /> 
       <form:options items="${auctionTypesList}" itemValue="auctionTypeId" itemLabel="auctionTypeDesc" /> 
      </form:select> 
     </td> 
    </tr> 
    <tr> 
     <td> 
      <c:choose> 
       <c:when test="${param.auctionType == 1}"> 
        <c:import url="/normalAuction.jsp" var="normal"/> 
       </c:when> 
       <c:when test="${param.auctionType == 2}"> 
        <c:import url="/reverseAuction.jsp" var="reverse"/> 
       </c:when> 
      </c:choose> 
     </td> 
    </tr> 

有人可以讓我知道我要去哪裏錯了?

感謝

回答

0

如果您的形式沒有得到顯示,也許你沒有進口彈簧MVC格式的taglib:

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> 

這是強制性的,因爲否則你將結束與<形式:不管... >標記在您的HTML輸出中。

至於根據請求參數導入JSP,通過基於用戶輸入返回不同的視圖,在控制器中處理更好,因爲這實際上是控制器任務而不是視圖。

0

您在頁面中使用表達式語言${}。檢查您的標題中是否包含標籤lib

<%@ page isELIgnored ="true|false" %>。 True表示EL被忽略,false表示不會忽略EL標籤。所以把false

此外,當您使用chose標籤,並when它的子標籤,這已經是一個otherwise標籤。

<choose> 
    <when condition>Page_1.jsp 
    </when> 
    <when condition_2>Page_other.jsp 
    </when> 
    <otherwise>Page_2.jsp 
    </otherwise> 
</chose>