2

検索ページにboolean. 必須ではないため、スキップしたい場合があるため、チェックボックスを使用できません。

JSP

<s:select list = '#{ "":"Make your choice...", true:"FOO", false:"BAR" }'
          name = "myBooleanCriterion" />

アクション

private Boolean myBooleanCriterion;

/* Getter and Setter */

booleanデフォルトはであることがわかっていますがfalseBooleanデフォルトnullは であり、最初にページがレンダリングされるときは問題ありません ( 「選択してください」が表示されます)。

ただし、POST の後、値として検出された場合でも、Struts はBooleanプロパティをインスタンス化します (デフォルトで) 。そのため、JSP に戻ると、値は( "BAR" ) に事前選択されます。false""false

""値が の場合にその変数のインスタンスを作成せず、元の状態のままにするように Struts に指示するにはどうすればよいnullですか? コンバーターを作成する必要がありますか、.propertiesそれともファイルで何かを指定する必要がありますか? (私は基本的にこの回答の例.2と同じコードを持っています)

(少しカスタムした) paramsPrepareParamsStackInterceptor Stack を使用しています。

ばかげたことを見逃しているような気がします。

4

1 に答える 1