1.date.jsp页面
<s:form action="login" method="post">
<s:textfield label="姓名" name="users.username"></s:textfield>
<s:textfield label="密码" name="users.password"></s:textfield>
<s:textfield label="生日" name="users.birthday"></s:textfield>
<s:submit></s:submit>
</s:form>
2.showdate.jsp页面
自定义转换类型:<s:property value="users.birthday" /><br/>
3.Users实体类
public class Users {
private String username;
private String password;
private Date birthday;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
}
4.action类
public class UsersAction extends ActionSupport{
private Users users;
public Users getUsers() {
return users;
}
public void setUsers(Users users) {
this.users = users;
}
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
System.out.println("姓名:"+users.getUsername());
System.out.println("生日:"+users.getBirthday());
return SUCCESS;
}
}
5.继承StrutsTypeConverter的类
public class DateConverter extends StrutsTypeConverter {
//支持转换的多种日期格式,可增加时间格式
private final DateFormat[] df = {
new SimpleDateFormat("yyyy年MM月dd日"),
new SimpleDateFormat("yyyy.MM.dd"),
new SimpleDateFormat("yyyy-MM-dd"),
new SimpleDateFormat("MM/dd/yyyy"),
new SimpleDateFormat("yyyy/MM/dd")
};
/**
* 将指定日期的字符串类型转化成日期类型
* */
@Override
public Object convertFromString(Map context, String[] values, Class toType) {
String dateStr = values[0];
for(int i=0;i<df.length;i++) {
//遍历,进行转换
try {
return df[i].parse(dateStr);
} catch (ParseException e) {
continue;
}
}
//如果遍历后没有转换成功则抛出异常
throw new TypeConversionException();
}
/**
* 将日期转换为指定的字符串格式
* */
@Override
public String convertToString(Map context, Object object) {
// TODO Auto-generated method stub
Date date = (Date) object;
//输出格式为yyyy-MM-dd
return new SimpleDateFormat("MM/dd/yyyy").format(date);
}
}
6.在src目录下新建一个xwork-conversion.propertions文件
java.util.Date=com.jmx.conversion.DateConverter
7.配置struts.xml
<action name="login" class="com.jmx.action.UsersAction">
<result name="success">/showdate.jsp</result>
<result name="input">/date.jsp</result>
</action>
最后发布访问项目就行了。