- PR -

bean:writeタグを利用した文字列範囲指定について

1
投稿者投稿内容
SOTA
会議室デビュー日: 2007/04/18
投稿数: 16
投稿日時: 2007-07-19 19:15
java初心者です。

現在、jsp+strutsを利用したwebアプリを作成しているのですが、bean:writeタグで取得した値の文字列範囲指定する方法が見つかりません。
daoクラスにてdbから値を取得する際に、変換することもできるのですが、できればjspで行いたいと思っております。

例)
<bean:write name="testForm" property="testDate"/>
のtestDateに20070719と値がセットされていて表示を
2007/07/19と表示したい

もしご存知の方がいましたら教えてください。
朝日奈ありす
大ベテラン
会議室デビュー日: 2007/05/02
投稿数: 189
お住まい・勤務地: 最北の地
投稿日時: 2007-07-19 20:50
JSTL のfmt で対応可能であるw

設定するときにコンバートしたくないのはなぜだか気になりますが
朝日奈ありす
大ベテラン
会議室デビュー日: 2007/05/02
投稿数: 189
お住まい・勤務地: 最北の地
投稿日時: 2007-07-19 20:50
JSTL のfmt で対応可能であるw

設定するときにコンバートしたくないのはなぜだか気になりますが
SOTA
会議室デビュー日: 2007/04/18
投稿数: 16
投稿日時: 2007-07-20 09:38
回答ありがとうございます。

JSTL のfmt を調べて試してみたのですが、

<fmt:formatDate value="${testDate}" type="date" dateStyle="medium"/>

としたのですが、おそらくtestDateがdate型ではなくstring型のためエラー
になっていると思われます。
いろいろ調べたのですが、うまくいく方法が見つかりません。

教えていただけないでしょうか?
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2007-07-20 10:43
どうしてもJSTLでどうにかしたいというなら、Functionsタグライブラリのfn:substring
を年月日ごとに3つ連ねる方法や、スクリプレットで分割してからタグライブラリで出力
する方法もあると思うんですが・・・スマートじゃないですよね。DBの定義変えられ無
くて、どうしてもそのまま使いたいという場合にはあるかもしれませんが、それでも
AP側で文字列 -> Date型にしておいた方が日付の加減計算がやりやすいですし、柔軟性
が高まります。文字列 -> Date型の変換は、フォームBeanのセッターメソッド内でやっ
てあげればすっきりするので、Dateクラスのゲッターメソッドを作った方が良いと思います。
SOTA
会議室デビュー日: 2007/04/18
投稿数: 16
投稿日時: 2007-07-20 11:03
ありがとうござます。

fn:substring を年月日ごとに3つ連ねる方法で表示できました。

>AP側で文字列 -> Date型にしておいた方が日付の加減計算がやりやすいですし、柔軟
>性が高まります。文字列 -> Date型の変換は、フォームBeanのセッターメソッド内で
>やってあげればすっきりするので、Dateクラスのゲッターメソッドを作った方が良いと>思います。

に関しましては、今回私が作成しているフォームBeanについては、すべてList型でゲット、セットしているため、変換の方法が分からずこのような方法をとることにしました。java初心者のため意味が分からないことを言っていたらすみません。
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-07-20 11:16
こういう場合は自作のタグライブラリを使うものでは?
1

スキルアップ/キャリアアップ(JOB@IT)