2011-09-30 12 views
6

セッションから得られるものに応じて、表示タグ列に様々なデータを表示したいと思います。ディスプレイタグ付きスイッチケース

にはどうすれば表示タグ<display:column>とスイッチケースを統合することができますか? セッションから取得した単価が1などの場合はAAAを表示したい

これは私がしたいことです。

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

ありがとうございます。

答えて

18

ディスプレイタグを使用すると、ディスプレイタグなしで行うことができます。サーブレット/アクション内の目的のユニットをJSPにディスパッチして、リクエスト内のあるBeanにこのユニットを格納するだけです。 JSTLを使用して、

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

またはJSP自体でそれを計算するが、それはより冗長です:そして、JSPでこのBeanにアクセス

<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の先頭にcore JSTL taglibのtaglibディレクティブを追加しましたか?生成されたHTML(表示ソース)は何ですか –

関連する問題