0

JSPでStruts2とJqgridを使用しているという要件があります。

私の要件に従って、インターセプターを介してさまざまなアクション クラスからリストを取得しています。

リストを JSP に渡し、Jgrid URL からそれぞれのアクション クラスに戻す必要があります。

request.setAttributeパラメータと同じ値を使用して渡す場合

jqgridアクションクラスのURL [E.g showExcelGrid.action?LIST='+"<%=request.getAttribute("LIST")%>" は正常に機能しますが、リストが大きい場合は正しく機能しません。

いくつかのアイデアを提案してください。

ありがとう

4

2 に答える 2

3

JqG​​ridがどのように機能するかはわかりませんが、値が双方向に流れる方法を以下に説明します

アクション クラスから JSP にリスト/マップまたはその他のコレクションに基づくオブジェクトを送信するには、アクション クラスでリスト プロパティを作成し、そのゲッターとセッターを提供する必要があります。

サンプル アクション クラス

public class SampleAction extends ActionSupport{

 private List<String> listForJspPage;

  //getter and setter for this list property

  public String execute() throws Exception{
    listForJspPage=new ArrayList<String>();
    listForJspPage=fill this list with values
    return SUCCESS;
  }

}

上記のコードを使用すると、アクションが実行されるときlistForJspPageに値スタックがあり、OGNL を使用してアクセスできます

サンプル JSP

<s:iterator value="listForJspPage">
  // do what ever you want to fo
</s:itertor>

ここでは、値を取得するためにアクション クラスのようにvalue="listForJspPage"S2 によって解釈されます。getListForJspPage()

値をアクション クラスに送り返すために、OGNL のような少しの助けを借りてセッター メソッドを確認できます。

<s:iterator value="listForJspPage">
     <s:textfield name="listForJspPage['%{id}'].value" value="%{value}" />
    </s:itertor>

これで、listForJspPageリストを反復処理します。textfield タグで名前を " listForJspPage['%{id}'].value" に設定すると、" " のような結果になりlistForJspPage['1'].valueます。さらに次のように見ることができます

getListForJsppage().get(index).setvalue(out given value);
于 2012-04-04T15:14:43.240 に答える
0

私はこれを遅く知っていますが、今日これが機能することを発見しました。

次のように、struts2 の s:select タグを使用して、jsp を介して 1 つのアクション クラスから別のアクション クラスにリストを渡すことができます。

List<String> formList //getter and setter should be there in both the action classes

<div id="divList" style="display: none;">
<s:select list="formlist" multiple="true" id="selectedList" name="formListList"></s:select>
</div>

于 2015-08-21T19:07:16.873 に答える