【发布时间】:2013-11-30 04:05:07
【问题描述】:
我正在尝试将自定义类型转换与属性文件一起使用。
Action 类正在为 bean 属性实现 ModelDriven。
public class WelcomeAction extends ActionSupport implements ModelDriven<MyBean>{
public String execute(){
return SUCCESS;
}
private MyBean bean = new MyBean();
@Override
public MyBean getModel() {
return bean;
}
}
Bean类是:
public class MyBean{
private Rectangle rectangle;
public Rectangle getRectangle() {
return rectangle;
}
public void setRectangle(Rectangle rectangle) {
this.rectangle = rectangle;
}
}
我有WelcomeAction-conversion.properties 文件与动作类并行,转换器配置为:
bean.rectangle=struts2.typeconverters.RectangleTypeConverter
我尝试将密钥作为 bean、矩形等,但它不起作用,它没有使用转换器类。
如果我使用@TypeConverter 注释或全局转换器,那么它工作正常。
我的 struts 2 版本是 2.3.15.1,不知道可能是什么问题。
更新:创建了一个问题https://issues.apache.org/jira/browse/WW-4249
得到了正确的实现方式:http://www.journaldev.com/2221/struts-2-ognl-tutorial-with-custom-type-converter-example
【问题讨论】:
-
你试过这个
rectangle=struts2.typeconverters.RectangleTypeConverter吗? -
是的,我也试过了,它不起作用。我只有在没有选择的时候才在这里发布。
-
不确定是否可以将转化应用于操作的模型驱动。您可以将转换器应用于 bean 或全局。
-
我在使用相同的 struts 版本时遇到了同样的问题。这可能是这个 Struts 版本的一个错误。
-
@Pankaj:由于模型位于堆栈顶部,因此应用于操作的转换不会生效。不是错误。