- - PR -
JSPでStringの値を+1したい
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-06-30 15:14
基本的なことで申し訳ないのですがどうしても解決できないので教えて下さい。
JSPで <bean:define id="cnt" value="0" /> と定義したcntをカウントアップしたいのですが、どうすればいいのでしょうか? | ||||||||
|
投稿日時: 2005-06-30 15:29
こんにちは、moneです。
カウントアップしていくならいっそint型に直してしまったほうが・・ どうしてもやりたいなら Integer#parseInt String#valueOf 等を使って intに変換→+1→Stringに変換して格納 という手順になります。 [ メッセージ編集済み 編集者: mone 編集日時 2005-06-30 15:30 ] | ||||||||
|
投稿日時: 2005-06-30 16:17
色々試してみたのですがどうしてもできません。 自分なりに次のようなこともしてみたのですが、コンパイルエラーにカウントアップされず毎回同じ値となります。 <bean:define id="cnt" value="<%= Integer.toString(Integer.parseInt(cnt) + 1) %>" /> [ メッセージ編集済み 編集者: ぱあ 編集日時 2005-06-30 16:40 ] | ||||||||
|
投稿日時: 2005-06-30 16:49
cntは本当にStringですか? どのように定義されたのでしょうか。 もし、 <bean:define id="cnt" value="1" /> としているなら、String型とは限りません。 String型、Integer型かもしれませんが、Object型と考えるべきです。 <bean:define id="cnt" value="<%=Integer.toString(Integer.parseInt(cnt.toString()) + 1)>" /> ではないでしょうか。 | ||||||||
|
投稿日時: 2005-06-30 16:53
書いてましたね。。。。よく読んでいなくてすみませんでした。 <bean:define id="cnt" value="<%=Integer.toString(Integer.parseInt(cnt.toString()) + 1)>" /> toString()する必要があると思います。 | ||||||||
|
投稿日時: 2005-06-30 17:01
あマニュアルにはbean:defineでtypeを省略したときはString型となっていましたが違うこともあるのでしょうか? | ||||||||
|
投稿日時: 2005-06-30 17:02
できました。ありがとうございます。 ところでマニュアルにはbean:defineでtypeを省略したときはString型となっていましたが違うこともあるのでしょうか? | ||||||||
|
投稿日時: 2005-06-30 17:28
実際私もハマったことあるのですが、 エラーメッセージをみたところ、parseInt(Object) はダメよ。といったエラー内容でした。 おかしいなぁ。。とおもって、str.toString() としたら動いた記憶があります。 Integer.parseInt((String)str) もダメだったような。。 詳しいことはわかりませんので、経験談となってしまい、 申し訳ないです。 |