因此,例如,如果用户以中间方式填写表单,我想使用属性来创建Intermediary
对象,相反,如果用户以实体方式填写请求,我可以使用ll使用属性来创建Entity
对象,ecc ...
这些对象共享相同的接口Request
。
有没有办法使用polimorphically属性来创建Intermediary
或Entity
对象?
假设这是我的两个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"/>
提前致谢。