当前位置: 首页 > 面试题库 >

从Struts2表单提交中填充集合

汪文光
2023-03-14
问题内容

我正在尝试从表单填充bean列表:

public class Foo {
   public String attr1;
   public String attr2;
}

public class Bar {
   public List<Foo> foos;
}

public class StrutsAction extends Action {
   public Bar bar;
}

因此,在我的Struts2表单中,填充Foo的最佳方法是什么?凭直觉,我想做:

<input type="hidden" name="bar.foos.attr1" />

但这不起作用,并且会导致碰撞。我敢肯定答案很简单,而且我忽略了它。


问题答案:

如果我正确理解,您只是想为每个隐藏字段使用不同的名称?

<s:iterator value="bars" status="key">
    <s:hidden name="bar.foos[%{#key.index}].attr1" value="attr1" />
    <s:hidden name="bar.foos[%{#key.index}].attr2" value="attr2" />
</s:iterator>

这应该给你相当于

<input type="hidden" name="bar.foos[0].attr1" value="some value" />
<input type="hidden" name="bar.foos[0].attr2" value="some other value" />
<input type="hidden" name="bar.foos[1].attr1" value="some value" />
<input type="hidden" name="bar.foos[1].attr2" value="some other value" />

如果您有适当的getter / setter,则应在提交表单时设置所有值。



 类似资料:
  • 我有一个基于类的视图(IndexView at views.py),它显示了一个包含数据库中存储的所有数据的表。此视图在索引中呈现。html使用获取所有数据。还没有问题。 对我来说,困难的部分是尝试使用表单来完成它,以便能够修改和保存金额列。我对POST部分没有问题,我使用AJAX来保存新值。我遇到的问题是从数据库中获取初始值以填充Django表单(forms.py) 我尝试在表单字段的定义中使用

  • 获取Form变量 通过Action的如下方法可以获取变量: GetSlice GetString GetInt GetBool GetFloat GetFile GetForm 自动映射 通常我们通过http.Request.Form来获得从用户中请求到服务器端的数据,这些数据一般都是采用name,value的形式提交的。xweb默认支持自动将这些变量映射到Action的成员中,并且这种映射支持子

  • 但还是不行,知道吗?

  • 当我使用这个长字段名时,我没有得到任何错误,但是得到的PDF不包含我放在字段中的值。我想可能字段名有问题,所以我使用了Pdftk工具,它只给出了作为字段名。但是当我仅仅使用它时,我会得到error。救命?

  • 问题内容: 是否可以在Struts2的操作中将表单的数据提交到Java Set? 动作代码: 表单代码: 问题答案: 该仅仅是一个集合,Struts2的对任何类型的集合的内部支持。但是对于这种类型的集合,您不能在OGNL表达式中使用索引。尝试