|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2008-06-24
我的问题是,
一个UpdateAction.java,其中有参数User user ; 而User有个属性叫Sex sex;而Sex是个枚举类。 现在修改用户的JSP页面上,性别参数名写成user.sex,值写成MALE; 提交后,UpdateAction中,对于User的其他属性,都可以接收组装,而Sex sex属性却怎么也组织不起来。 请问,像我这种情况, 1. JSP页面上的性别 参数名 和 值 该如何写? 2. Action中或者User中该对user/sex属性做什么特殊处理? 谢谢。 --------------------- 我想现在用jdk5的人应该很多,这种情况应该常见才是,而我在GOOGLE上却搜不到相关的问题。。。。 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
时间:2008-06-24
是否应该采用conversion的方式,将页面传递进来的String类型的性别转换成对应的枚举类型之后,再set到sex属性呢?
|
|
| 返回顶楼 | |
|
时间:2008-06-24
将页面转过来的数据进行类型的转换·在通过一个实对象进行封装·就OK·了·
|
|
| 返回顶楼 | |
|
时间:2008-06-25
楼主可能用的是老版本,据我所知新版本是内置了枚举转化器,关于jsp页面上怎么显示,可以看我提交的这个patch
http://jira.opensymphony.com/browse/XW-647 |
|
| 返回顶楼 | |
|
时间:2008-06-25
用个convertor就可以了.
|
|
| 返回顶楼 | |
|
时间:2008-06-25
ray_linn 写道 用个convertor就可以了. 是converter不是convertor com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter里面已经有了,这种通用的转化器没必要自己写. |
|
| 返回顶楼 | |
|
时间:2008-07-02
quaff 写道 ray_linn 写道 用个convertor就可以了.
是converter不是convertor com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter里面已经有了,这种通用的转化器没必要自己写. 我的struts是2.0.11版本,xwork 是 2.0.4版本, 发现xwork里是有个 com.opensymphony.xwork2.util.EnumTypeConverter 我在我的WEB-INF/classes/下建立了一个文件 xwork-conversion.properties 内容如下: java.lang.Enum = com.opensymphony.xwork2.util.EnumTypeConverter 接着,我写了个测试的action, userTest, 在IE中调用: http://localhost:8080/userTest.action?user.name=XXX&user.sex=MALE 发现action中的user只会得到name的属性值,sex属性值还是不能设置进去。 但是,至少不会出错,会得到一个User对象实例了。 如果,URL中,user.sex的值随便写(不再枚举类Sex的值范围内),如okXXX, http://localhost:8080/userTest.action?user.name=XXX&user.sex=okXXX 这样调用,会出错,根本得不到一个User的对象实例, 看来,是有点接近我要的结果了。 请问,还有什么地方要做工作吗? 谢谢!! |
|
| 返回顶楼 | |
|
时间:2008-07-03
关注一下这个帖子。
我的项目里也遇到这个问题,还没时间解决。暂时用笨办法将就。 不过可以肯定OgnlValueStack肯定已经包含了Enum的Convertor。 |
|
| 返回顶楼 | |
|
时间:2008-07-03
quaff 写道 ray_linn 写道 用个convertor就可以了.
是converter不是convertor com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter里面已经有了,这种通用的转化器没必要自己写. converter和convertor在英文里是完全一样的好不好? |
|
| 返回顶楼 | |
|
时间:2008-07-03
ray_linn 写道 quaff 写道 ray_linn 写道 用个convertor就可以了.
是converter不是convertor com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter里面已经有了,这种通用的转化器没必要自己写. converter和convertor在英文里是完全一样的好不好? 又来挖坟了 就算converter不是一个单词,xwork叫这个就是这个 就像http header的referer是referrer拼写错误一样 |
|
| 返回顶楼 | |





