Java 如何通过自定义Struts类型转换器转换列表项的字段?

Java 如何通过自定义Struts类型转换器转换列表项的字段?,java,struts2,type-conversion,struts,Java,Struts2,Type Conversion,Struts,我需要对Company和Employee类中的ID字段执行自定义转换。我已经实现了从StrutsTypeConverter扩展而来的自定义转换器,它成功地用于转换公司.ID字段,但它不适用于员工.ID 似乎主要问题在于转换属性文件中。如何在转换属性文件中为员工ID字段指定转换器类 MyAction转换。属性: company.id = com.struts2.convertors.MyCustomConverter company.??????.id = com.struts2.converto

我需要对
Company
Employee
类中的
ID
字段执行自定义转换。我已经实现了从
StrutsTypeConverter
扩展而来的自定义转换器,它成功地用于转换
公司.ID
字段,但它不适用于
员工.ID

似乎主要问题在于转换属性文件中。如何在转换属性文件中为员工ID字段指定转换器类

MyAction转换。属性

company.id = com.struts2.convertors.MyCustomConverter
company.??????.id = com.struts2.convertors.MyCustomConverter
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;
    }
}
public class Company {

    private ID id;

    private List<Employee> employees;

    // getters and setters
}
MyAction

company.id = com.struts2.convertors.MyCustomConverter
company.??????.id = com.struts2.convertors.MyCustomConverter
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;
    }
}
public class Company {

    private ID id;

    private List<Employee> employees;

    // getters and setters
}
公司

company.id = com.struts2.convertors.MyCustomConverter
company.??????.id = com.struts2.convertors.MyCustomConverter
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;
    }
}
public class Company {

    private ID id;

    private List<Employee> employees;

    // getters and setters
}

company.id = com.struts2.convertors.MyCustomConverter
company.??????.id = com.struts2.convertors.MyCustomConverter
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;
    }
}
public class Company {

    private ID id;

    private List<Employee> employees;

    // getters and setters
}
此注释用于类和应用程序范围的转换规则

TypeConversion注释可以应用于属性和方法级别

 @TypeConversion(converter = “com.test.struts2.MyConverter”)
 public void setAmount(String amount) 
 {
    this.amount = amount;
 }

此注释指定我的一个转换器的位置。实际上,通过使用此注释,我将我的类com.test.struts2.MyConverter注册为转换器,并在每次调用setAmount(String amount)方法时执行。

通过向
xwork conversion.properties
文件中添加
ID
类型的转换器,尝试以下操作

com.struts2.ID = com.struts2.convertors.MyCustomConverter