struts2类型转换之二

一般情况下 页面表单 会有较多字段 而 我们往往 需要对其他某个字段进行类型转换

所以 我们都会将该表单字段封装为一个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.....

猜你喜欢

转载自hxlzpnyist.iteye.com/blog/1539121