一般情况下 页面表单 会有较多字段 而 我们往往 需要对其他某个字段进行类型转换
所以 我们都会将该表单字段封装为一个JavaBean 在action中只是声明一个JavaBean 对象
此时我们实现方法如下 基本如上次差不多的。
1)我们封装一个简单的User 让其只有一个属性birthday
public class User { private Date birthday; public Date getBirthday() { System.out.println("get == user"); return birthday; } public void setBirthday(Date birthday) { System.out.println("set == user"+birthday); this.birthday = birthday; } }
2)UserAction我们相应也要更改一下为:
public class UersPoAction extends ActionSupport { private User user; public User getUser() { return user; } public void setUser(User user) { System.out.println("set==> action "+user); this.user = user; } @Override public String execute() throws Exception { return SUCCESS; } }
3)输入界面表单元素的name我们也要改为OGNL表达式
<input type="text" name="user.birthday" value=""><br>
4)自定义的类型转换器类 不变 还是和上次的一样
5)局部类型转换文件的配置 注意这个时候 我们需要做一些相应的改变
首先 UserPoAction-conversion.properties 内容为: 这是告知系统 我们是要将user下的birthday进行类型转换
user.birthday=com.etc.sky.converstor.DateConverstor
更改了这个之后 ,我们同时还要在为User.java这个PO类进行配置类型转换器类
文件名为:User-conversion.properties
扫描二维码关注公众号,回复:
705392 查看本文章
内容为:
birthday=com.etc.sky.converstor.DateConverstor
6)同样 显示界面 也要改为:
<s:property value="user.birthday"/>
测试OK.....