- - PR -
bean:defineタグの使い方
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-05-26 16:10
初歩的なことですが、strutsの<bean:define>の使い方を教えて下さい。
DBに利用者毎のカウンタ項目(CTR:integer)があり、これを使って<logic:iterate>の繰り返し回数を制御したいのですが上手くいきません。 <logic:iterate>は(1)のように定義していて、CTRさえ上手く設定できればちゃんと動くのですが、利用者がログインしていない時にはCTRが不定となりエラーになります。 そこで利用者がログインしていないときの為に(1)の前に(2)を付け加えたのですが「ServletException in '/WEB-INF/welcome.jsp': null」になります。 <bean:define>でInteger型からString型を取り出すためにはどうしたらいいのでしょうか? (1) <logic:iterate id="product" name="products" type="model.Product" offset="<%=(String)request.getAttribute("offset") %>" length="<%= CTR %>" indexId="count" > (2) <bean:define id="CTR" value="0" /> <logic:present name="login"> // ログインしているとき <bean:define name="login" property="catalogListCount" id="CTR" type="java.lang.String" /> </logic:present> <logic:notPresent name="login"> // ログインしていないとき <bean:define id="CTR" value="3" /> </logic:notPresent> |
|
投稿日時: 2005-05-26 16:41
ぐうさん、こんにちは。
不定というのはnullということですか? もしそうなら、<logic:empty>タグが使えるかと思います。 |
|
投稿日時: 2005-05-26 16:50
<logic:empty>タグも試してみましたが、CTRが定義済みか否かの判定は結局<logic:present name="login">で判定することにしました。
|
|
投稿日時: 2005-05-26 19:17
こんな風にしてみました。
<bean:define name="login" property="catalogListCount" id="CTRi" type="java.lang.Integer" /> <bean:define id="CTR" value="<%=CTRi.toString() %>" type="java.lang.String" /> |
1