1

現在、struts のアップグレード作業 (struts2.0 から struts2.5 へ) を行っています。struts dojo タグを struts-jquery に置き換えたい。

ここで、struts-dojo autocompleter を struts-jQuery autocompleter に置き換えるときに問題に直面しています。

サーバーからの応答を下回っています:

  [
  {
    "firstName": "Bulwark Technologies LLC",
    "partnerId": 925
  },
  {
    "firstName": "Bulwark Technologies LLC1",
    "partnerId": 926
  },
  {
    "firstName": "Bulwark Technologies LLC2",
    "partnerId": 927
  }
]

クライアント側で表示するために、Struts2-jquery-autocompleter を使用しています -

<sj:autocompleter href="%{urlpartnerList}" list="%{partnerNameListBeanStruts2}" listValue="firstName" listKey="partnerId"/>

テキストボックスに「未定義(複数回-サーバー側のクエリで見つかった結果に基づく)」が表示されます。

ここで誰か助けてくれませんか?前もって感謝します。

ここに画像の説明を入力

4

1 に答える 1

0

コメントでの私の提案はあなたを間違った方向に導きます<sj:autocompleter/>。これにより、サーバーの応答を変更せずに完全に正常に機能するはずです。このタグで使用できるさまざまなオプションを台無しにしました。

<sj:autocompleter href="%{jsonAction}" listKey="partnerId" listValue="firstName" name="firstname"/>

ラベル要素の値を取得するにはどうすればよいですか?

このオートコンプリータの秘訣は、listValueが表示されるテキスト フィールドでは選択として表示listKeyされますが、非表示のフィールドでは値として使用されることです。この隠しフィールドは、値をサーバーに送り返すために使用されます。それはあなたの質問にも答えるはずです:

は、<sj:autocompleter/>次の html コードを作成します。

<input type="hidden" name="firstname" value="HERE_IT_WILL_PUT_THE_LIST_KEY"/>
<input type="text" name="firstname_widget" value="HERE_IT_WILL_PUT_THE_LIST_VALUE"/>

したがってlistKey、レスポンスとして取得したいリスト プロパティ名をタグに設定するだけで済みます。

于 2016-08-10T19:45:17.053 に答える