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

form 标签可以被映射到一个属性的属性
manager.java
 1 package com.atguigu.struts2.model;
 2 
 3 import java.util.Date;
 4 
 5 public class Manager {
 6     
 7     private String name;
 8     private Date birth;
 9     public String getName() {
10         return name;
11     }
12     public void setName(String name) {
13         this.name = name;
14     }
15     public Date getBirth() {
16         return birth;
17     }
18     public void setBirth(Date birth) {
19         this.birth = birth;
20     }
21 
22     public String toString() {
23         return "Manager [name=" + name + ", birth=" + birth + "]";
24     }
25     
26     
27     
28 }

 

Department.java
 1 public class Department {
 2     
 3     private Integer id;
 4     private String deptName;
 5     
 6     private Manager mgr;
 7 
 8     public Integer getId() {
 9         return id;
10     }
11 
12     public void setId(Integer id) {
13         this.id = id;
14     }
15 
16     public String getDeptName() {
17         return deptName;
18     }
19 
20     public void setDeptName(String deptName) {
21         this.deptName = deptName;
22     }
23 
24     public Manager getMgr() {
25         return mgr;
26     }
27 
28     public void setMgr(Manager mgr) {
29         this.mgr = mgr;
30     }
31 
32 
33     public String toString() {
34         return "Department [id=" + id + ", deptName=" + deptName + ", mgr="
35                 + mgr + "]";
36     }
37     
38     
39     
40 }

 

/**
* 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

posted @ 2014-09-25 15:24  Jeremy_software  阅读(545)  评论(0编辑  收藏  举报