我可以提交引用POJO(即不仅仅是String或者boolean)字段的Struts表单吗?

时间:2020-03-05 18:53:44  来源:igfitidea点击:

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

所以我的表格看起来像:

MyForm extends ActionForm {
    private String name;
    private int id;
    private Thing thing;

    ...getters/setters...
}

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

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

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

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

解决方案

回答

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

所以Thing需要getThingName()setThingName(String)