我不确定 JqGrid 是如何工作的,但下面描述了价值双向流动的方式
要将 List/Map 或任何其他支持集合的对象从您的操作类发送到 JSP,您只需在操作类中创建一个列表属性并为此提供其 getter 和 setter
示例动作类
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 的帮助下确保 setter 方法,例如
<s:iterator value="listForJspPage">
<s:textfield name="listForJspPage['%{id}'].value" value="%{value}" />
</s:itertor>
在此我们迭代listForJspPage
列表。在文本字段标签上,我们将名称设置为“ listForJspPage['%{id}'].value
”,这将导致看起来像“ listForJspPage['1'].value
”的内容。这进一步可以看作
getListForJsppage().get(index).setvalue(out given value);