我需要在ID
和Company
类中为Employee
字段实现自定义转换。我已经实现了从StrutsTypeConverter
扩展的自定义转换器,它已成功用于转换Company.ID
字段,但它不适用于Employee.ID
。
似乎主要问题在于转换属性文件。如何在转换属性文件中为员工ID字段指定转换器类?
MyAction-conversion.properties
company.id = com.struts2.convertors.MyCustomConverter
company.??????.id = com.struts2.convertors.MyCustomConverter
MyAction
public class MyAction extends ActionSupport {
private Company company;
public Company getCompany () {
return company;
}
public void setCompany (Company company) {
this.company= company;
}
@Override
public String execute() {
return SUCCESS;
}
}
Company
public class Company {
private ID id;
private List<Employee> employees;
// getters and setters
}
Employee
public class Employee{
private ID id;
private String name;
// getters and setters
}
答案 0 :(得分:0)
<强> TypeConversion Annotation 强>
此批注用于类和应用程序范围的转换规则。
TypeConversion注释可以在属性和方法级别应用。
@TypeConversion(converter = “com.test.struts2.MyConverter”)
public void setAmount(String amount)
{
this.amount = amount;
}
此注释指定了我的某个转换器的位置。从字面上看,通过使用这个注释,我将我的类com.test.struts2.MyConverter注册为转换器,并在每次调用setAmount(String amount)方法时执行。
答案 1 :(得分:0)
通过将ID
类型的转换器添加到xwork-conversion.properties
文件
com.struts2.ID = com.struts2.convertors.MyCustomConverter