0

次のように ajax リクエストを送信してデータを動的にロードする struts2-jquery-plugin select タグを含む jsp があります。

<s:url var="remoteurl" action="providerList"/>
<sj:select href="%{remoteurl}" id="provider" name="language"
                            list="pList"
                            listKey="myKey"
                            listValue="myValue"
                            emptyOption="true"
                            headerKey="-1"
                            headerValue="Select" label="Provider"/>

ajax リクエストが行われると、次のようなアクション コードに制御が移ります。

ArrayList<String> pList=new ArrayList<String>(); 
public ArrayList<String> getpList() {
    return pList;
}
public void setpList(ArrayList<String> pList) {
    this.pList = pList;
}
public String providerList() {
    pList.add("ASC");
    pList.add("asas");
    pList.add("asasasas");
    return "returnedList";
}

action providerList に対応する私の struts.xml では、結果の型をディスパッチャーとして指定すると、コントロールが jsp に渡されます。私が望むのは、リストpListをselectタグのドロップダウンリストに到達させることです。

ここでの問題は、選択タグにこの pList 値を入力することです。struts.xml ファイルでこの providerList アクションを構成するにはどうすればよいですか。または、アクションメソッド、戻り値の型などに変更を加える必要もありますか。私の知る限り、戻り値の型を json として使用できます。json以外の解決策はありますか?

4

1 に答える 1

1

まず、そのタグに依存している場合、JSON 以外の解決策はありません。

sj:selectタグを機能させるには、以下を削除する必要がありますsj:select

 listKey="myKey"
 listValue="myValue"

アクションから送信しているのは文字列のリストですが、JSP では上記の 2 つのプロパティのためにマップまたは Bean が必要です。

struts.xml では、結果の型を json に設定する必要があります。そのためには、プロジェクトにstruts2-json-pluginを含める必要があります。

于 2013-10-20T20:56:02.343 に答える