条件对象人口

时间:2014-03-11 16:47:15

标签: java jsp struts2

Hy先生,我使用Struts2解决了一个问题。 基本上我是一个用户可以提交填写不同字段的表单。我想有条件地使用用户插入的属性填充正确的对象。

因此,例如,如果用户以中间方式填写表单,我想使用属性来创建Intermediary对象,相反,如果用户以实体方式填写请求,我可以使用ll使用属性来创建Entity对象,ecc ... 这些对象共享相同的接口Request

有没有办法使用polimorphically属性来创建IntermediaryEntity对象?

假设这是我的两个POJO:

public class Intermediary implements Request{
    private String name;
    private String surname;
    private String code;
    private String FiscalCode;
    private String address;

    ...
    /*Getters and setters */
    ....
}

public class Entity implements Request{
    private String name;
    private String surname;
    private String code;
    ....
    /*Getters and setters */
    ....
}

这可能是我进入jsp页面的形式:

<s:form action="fillRequest" id="formRichiesta" name="formRichiesta" method="post">
    <s:radio id="tipoRichiedente" name="tipoRichiedente" list="richiedenti">
    <label>Name</label><s:textfield name="name"/>
    <label>Surname</label><s:textfield name="surname"/>
    <label>code</label><s:textfield name="code"/>
    <label>Adress</label><s:textfield name="adress"/>
    <label>Fiscal Code</label><s:textfield name="fiscalCode"/>
</s:form>
<s:submit>

基本上我的问题是我可以发现用户试图仅填写提交和观看无人机状态的请求类型。

有没有办法直接将属性映射到正确的对象,而不是创建一个包含所有表单属性的大对象,然后创建正确的实现?为了映射属性,我可以使用接口参考吗?

例如image my action:

public class RequestAction {
   private Request request;
   ....
}

所以在我的jsp中我可以使用:

 <label>Name</label><s:textfield name="request.name"/>

提前致谢。

0 个答案:

没有答案