<s:inputtransferselect/>
Struts タグの場合、選択した値を保持する属性が見つかりません。ドキュメントを参照しましたが、どの属性が選択した値を正確に保持しているかまだわかりません。
の場合、 doubleId属性<s:optiontransferselect/>
から選択した値を取得できました。の同様の属性を探しています。<s:inputtransferselect/>
Inputtransferselect は、入力フィールド、複数オプション選択リスト、および選択リストに追加および削除するいくつかのボタンを作成します。フォームを送信すると、選択リスト内のすべてのオプションを選択するための JavaScript がトリガーされ、これらのオプションが Java 側のリストに表示されます。
ここに例があります。
.jsp ファイル:
<s:inputtransferselect
key="cartoonCharacters"
addLabel="Add element"
removeLabel="Remove element"
removeAllLabel="Remove all elements"
upLabel="Move up"
downLabel="Move down"
leftTitle="Add Character"
rightTitle="Existing Characters"
list="cartoonCharacters"
/>
.jsp に<s:head/>
タグが含まれていることを確認してください。そうしないと、inputtransferselect が機能するために必要な JavaScript がページで使用できなくなります。
このタグの使用可能なすべての属性パラメータを確認するには、ドキュメントを参照してください。
action .java ファイルには、inputtransferselect のキーとリストに対応するリストが含まれている必要があります。値を取得するには、リストのゲッターを使用します。
public abstract class MyAction extends AbstractAction
{
private List<String> cartoonCharacters = new ArrayList<>();
public MyAction()
{
cartoonCharacters.add("Popeye");
cartoonCharacters.add("Superman");
cartoonCharacters.add("Scoobydoo");
}
public List<String> getCartoonCharacters()
{
return this.cartoonCharacters;
}
public void setCartoonCharacters(List pCartoonCharacters)
{
this.cartoonCharacters = pCartoonCharacters;
}
public String execute() throws Exception
{
return SUCCESS;
}
}
また、私の実装ではこれが正しく機能していないことにも注意してください-フォーム送信時にすべてのオプションを自動的に選択するJavaScriptが起動しないため、これのために独自のイベントを作成する必要がありました.その他の送信イベントの衝突。