Struts2-学习笔记系列(10)-自定义类型转换

注意name=user和对应action中的实例名称一致

这些代码是写在HTML文件中的

1 <s:form action="login">
2     <s:textfield name="user" label="用户"/>
3     <tr>
4         <td colspan="2"><s:submit value="转换" theme="simple"/>
5             <s:reset value="重填" theme="simple"/></td>
6     </tr>
7 </s:form>

 

 

创建类型转换器

 1 public class UserConvert extends DefaultTypeConverter {
 2 
 3     @Override
 4 
 5     public Object convertValue(Map context, Object value, Class toType) {
 6 
 7         if (toType == User.class) {
 8 
 9             String[] para = (String[]) value;
10 
11             User user = new User();
12 
13             String[] vals = para[0].split(",");
14 
15             user.setName(vals[0]);
16 
17             user.setPwd(vals[1]);
18 
19             return user;
20 
21         } else if (toType == String.class) {
22 
23             User user = (User) value;
24 
25             return "name" + user.getName() + ",pwd" + user.getPwd();
26 
27         }
28 
29         return null;
30 
31     }
32 
33 }

 

 

注册类型转换器

局部转换器

创建文件:

LoginAction-conversion.properties  和action在一个目录

制度成员转换映射:

user=convert.UserConvert

 

全局转换器:

xwork-conversion.properties  和struts一个层级目录。对所有action都应用此类型转换器

domain.User=convert.UserConvert

posted @ 2016-06-04 22:34  逆风飞行  阅读(205)  评论(0编辑  收藏  举报