1

このチュートリアルに従って、 AJAX を Struts2 に組み込みます。

最終ステップに到達し、ユーザーとまったく同じインターフェイスが表示されます。また、最初のドロップダウン ボックスには AJAX が完全に機能していますが、2 番目のドロップダウンには AJAX がまったく機能していません。

最初のドロップダウンと 2 番目のドロップダウンの違いは、アイテムのリストをどのように利用するかです。最初のドロップダウンは次を使用します。

<sx:autocompleter list="{'1','12','13'}"

アイテムのリストをハードコーディングするには、2 番目のリストは次の方法を使用します。

<sx:autocompleter list="webframeworks" 

これは実際に私が混乱している場所です.struts2はwebframeworksがAutoCompleterActionクラス内のフィールドであることをどのように認識し、リストの値を取得しますか?

2 つの観察事項があります。私が気付いたことの 1 つは、「webframeworks」が AutoCompleterAction クラスのフィールド名でもあることです。2 つ目は、最初のドロップダウン メニューが実際に入力されているのに対し、2 つ目のドロップダウン メニューは空であることです。

私は初心者です、事前に助けてくれてありがとう!

4

2 に答える 2

1

@UmeshAwasthiが指摘したように、Struts2と統合されたDojoは2.1.xバージョン以降非推奨になりました。

これは主に、統合されたDojoが公式のDojoバージョンよりも古く、メンテナンスが少なく、バグがあるためです。

すぐに使用できるDojo、jQuery、またはその他のAJAXフレームワークを使用して作業を行うことができますが、Struts2-jQueryプラグインを確認することを強くお勧めします。 jQueryだけを学ぶ必要なしに、ほぼすべての種類の結果を達成することができます。

ショーケースのウィジェットメニューをクリックしてからオートコンプリートをクリックするだけで、お楽しみいただけます。

于 2013-01-03T10:51:38.663 に答える
0

2番目の例では、データはサーバー上のアクションクラスから取得されています。

  List<String> webframeworks = new ArrayList<String>();

上記のリストは、アクションクラスに入力されています。したがって、2番目のケースでは、webframeworksという名前のリストを参照しています。

また、あなたが尋ねたように、それはどのように知っていますか。STRUTS 2タグ(< sx:autocompleter ..)を使用しているため、Strutsが内部で処理します。

于 2013-01-03T10:23:43.733 に答える