Struts2中的类型转换与复杂对象配合使用

时间:2023-03-10 06:26:58
Struts2中的类型转换与复杂对象配合使用
form 标签可以被映射到一个属性的属性
manager.java
 package com.atguigu.struts2.model;

 import java.util.Date;

 public class Manager {

     private String name;
private Date birth;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getBirth() {
return birth;
}
public void setBirth(Date birth) {
this.birth = birth;
} public String toString() {
return "Manager [name=" + name + ", birth=" + birth + "]";
} }
Department.java
 public class Department {

     private Integer id;
private String deptName; private Manager mgr; public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public String getDeptName() {
return deptName;
} public void setDeptName(String deptName) {
this.deptName = deptName;
} public Manager getMgr() {
return mgr;
} public void setMgr(Manager mgr) {
this.mgr = mgr;
} public String toString() {
return "Department [id=" + id + ", deptName=" + deptName + ", mgr="
+ mgr + "]";
} }

/**
* 1. Department 是模型, 实际录入的 Department. deptName 可以直接写到
* s:textfield 的 name 属性中. 可以直接被匹配到,那 mgr 属性如何处理呢 ?
*
* struts2 表单标签的 name 值可以被赋为 属性的属性: name=mgr.name, name=mgr.birth

* 也就是说当我们要为属性中的属性赋值时可以使用name=属性对象名.属性名----来赋值
* 2. mgr 中有一个 Date 类型的 birth 属性, Struts2 可以完成自动的类型转换吗 ?
*
* 全局的类型转换器可以正常工作!就是定义在src的xwork-conversion.properties这个全局转换器还是可以使用的
*
*/

xwork-conversion.properties的代码如下:

转换类型=转换器全局类名

java.util.Date=com.atguigu.struts2.Converter.TestTypeConverter