2

struts 2 select タグ内で日付をフォーマットしようとしていますが、うまくいきません。Struts 2 の日付タグがあることは知っていますが、それは私が探しているものではないと思います。

ここで行っているのは、従業員の休暇シートに追加する日付を選択できる (週末の) 日付のリストを選択ボックスに入力することです。基本的に、きれいに表示されるようにフォーマットしようとしています (MM/dd/yyyy) が、これを行う正しい方法を見つけることができないようです。以下のリストの間にフォーマット タグを挿入しようとしました。タグで format.date パラメータを使用してみました。listValue を使用して日付をフォーマットしようとしましたが、何も機能していないようです。ここで何か不足していますか?

<s:select size="25" id="inputExclusionDates" name="available" list="availableExclusions" multiple="true" cssClass="multi-select" />

4

2 に答える 2

2

楽しみのために、OGNL でこれを行う方法を理解するのに時間をかけましたが、奇妙なしわのために予想したほど簡単ではありませんでした。

以下は、simpleDateFormat という名前の java.text.SimpleDateFormat プロパティを提供するアクションで動作します (これらの選択タグで異なる部分は listValue プロパティのみであることに注意してください)。

<s:select listValue="simpleDateFormat.format(new java.util.Date(#this[0].time))" size="25" id="inputExclusionDates" name="available" list="availableExclusions" multiple="true" cssClass="multi-select" />

以下は上記と同じことを行いますが、JSP ですべてを行います。

<s:select listValue="(new java.text.SimpleDateFormat('MM/dd/yyyy')).format(new java.util.Date(#this[0].time))" size="25" id="inputExclusionDates" name="available" list="availableExclusions" multiple="true" cssClass="multi-select" />

皺とか言っちゃったけど、やっぱり目がいい人なら余計な表情new java.util.Date(#this[0].time)に気が付いたから言えばいいのに#this[0]。結局のところ、それは理にかなっていますが、うまくいきません。これは私をやや混乱させたので、私はそれについて質問します: s:select で #this を使用するときの奇妙な OGNL の動作

于 2012-05-06T22:39:21.550 に答える
1

日付をフォーマットする最も簡単な方法:日付の代わりに「フォーマット日付メソッド」を使用してリストにオブジェクトを入力します。

1「formatDate」メソッドを使用してクラスを作成します

public class MyDate {
  private Date date;

  public Date getDate(){
    return date;
  }

  public String getFormatedDate(){
    String str = **some code to format date**;
    return  str;
  }  

2このオブジェクトをavailableExclusionsリストに入れます

3

<s:select size="25" id="inputExclusionDates" name="available" list="availableExclusions" multiple="true" cssClass="multi-select" listKey="date" listValue="formatedDate"/>
于 2012-05-05T09:27:12.207 に答える