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