关于Java:我可以提交引用POJO(即不只是String或boolean)字段的Struts表单吗?

关于Java:我可以提交引用POJO(即不只是String或boolean)字段的Struts表单吗?

Can I submit a Struts form that references POJO (i.e. not just String or boolean) fields?

我有一个Struts(1.3x)ActionForm,它具有多个String和boolean属性/字段,但也具有一些POJO字段。

所以我的表格看起来像:

1
2
3
4
5
6
7
MyForm extends ActionForm {
    private String name;
    private int id;
    private Thing thing;

    ...getters/setters...
}

因此,在JSP中,我可以引用POJO的字段:

1
<html:text property="thing.thingName" />

...并且值正确显示,但是如果我尝试提交表单,则会出现ServletException:BeanUtils.populate错误。

Web上似乎有很多有关此一般主题的信息,但没有一个能真正解决我的特定问题,即我是否应该能够在Struts中提交包含POJO字段的表单?


您可以,只要字段遵循JavaBean约定,并且setter接受Struts可以理解的内容。

因此Thing需要getThingName()setThingName(String)


推荐阅读