私はjsonのフォームでatocompleterを使用しています。JSONを使ったStruts 2 jqueryオートコンプリート
これは、これは、JSP
<s:form id="frm_demo" name="frm_demo" theme="simple" action="test2">
<s:url id="remoteurl" action="test" />
<sj:autocompleter
id="lst"
name="lst"
list="%{remoteurl}"
listValue="name"
listKey="id"
selectBox="true"
/>
<s:submit value="submit"/>
</s:form>
これは支柱に上記のコードを持つアクション・クラス・メソッド
public String populate() throws Exception{
itemList.put("1", "a");
itemList.put("2", "b");
itemList.put("3", "c");
return "success";
}
ある
<package name="json" namespace="/" extends="json-default">
<result-types>
<result-type name="json" class="com.googlecode.jsonplugin.JSONResult" />
</result-types>
<action name="test" class="testClass" method="populate">
<result type="json" name="success">
<param name="root">itemList</param>
<param name="contentType">text/html</param>
</result>
</action>
</package>
私struts.xmlの一部であります.xml私のjspはこれをレンダリングします。 {"3":"c","2":"b","1":"a"}
しかし、私が "contentType"パラメータを削除した場合、つまりコンテンツタイプが "application/json"である場合、jspはダウンロードウィンドウをポップします。 送信ボタンをクリックすると、オートコンプリータでキーを返す必要があります。しかし、ページはオートコンプリートで読み込まれません。どんな解決策ですか? p.s.私のアクションクラスで使用されているitemListはHashMapです...それは重要ですか?
、あなたのコードはOKだと思いますが、慎重に質問を読んで、彼はすでにそれをやってみました。 –