2011-09-30 74 views
6

我想根據我從Session獲得的內容在顯示標籤列中顯示各種數據。帶顯示標籤的開關盒

如何集成開關罩與顯示標籤<display:column> 我想顯示AAA,如果我從會話中得到的單位值是1等。

這是我想要做的。

switch(List.unit){ 
         case 1: 
          unit = "AAA"; 
          break; 
         case 2: 
          unit = "BBB"; 
          break; 
         case 3: 
          unit = "CCC"; 
          break; 
         default: 
          unit = "undefined"; 
          break; 
        } 

請提前致謝。

回答

18

你可以用displaytag來完成,就像沒有它一樣。只需在調度到JSP的servlet/action中計算所需的單元並將該單元存儲在請求中的某個bean中。然後在JSP訪問這個bean:

<display:column>${theBeanStoredInTheRequest.unit}</display:column> 

或計算它在JSP本身,使用JSTL,但它是更冗長:

<display:column> 
    <c:choose> 
     <c:when test="${sessionScope.unit == 1}">AAA</c:when> 
     <c:when test="${sessionScope.unit == 2}">BBB</c:when> 
     <c:when test="${sessionScope.unit == 3}">CCC</c:when> 
     <c:otherwise>undefined</c:otherwise> 
    </c:choose> 
</display:column> 
+0

喜,它在顯示欄中顯示的所有值像這樣[AAA BBB CCC]。有任何想法嗎?會話範圍的值被正確接收。謝謝。 – kitokid

+0

當我嘗試打印單位值本身'$ {List.unit}'時,該值是正確的。 1,2,3等我的顯示錶是這樣的'。我從Session.Thanks中獲得List的價值。 – kitokid

+0

您是否在JSP的開頭爲核心JSTL taglib添加了taglib指令?什麼是生成的HTML(查看源) –