博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
j2ee之struts2转换器
阅读量:4951 次
发布时间:2019-06-11

本文共 2302 字,大约阅读时间需要 7 分钟。

继承默认装换器的转换方式

package com.newtouch.struts2;import java.util.Map;import java.util.StringTokenizer;import com.newtouch.entity.User;import ognl.DefaultTypeConverter;public class DIYConvert extends DefaultTypeConverter {    @SuppressWarnings("rawtypes")    @Override    public Object convertValue(Map context, Object value, Class toType) {        if (User.class == toType) {            String[] values = (String[]) value;            StringTokenizer stringTokenizer = new StringTokenizer(values[0], ";");            String username = stringTokenizer.nextToken();            String password = stringTokenizer.nextToken();            User user = new User();            user.setPassword(password);            user.setUsername(username);            System.out.println(user);            return user;        } else if (String.class == toType) {            User user = (User) value;            String strinfo = user.getPassword() + user.getUsername();            return strinfo;        }        return null;    }}

在配置文件中配置你要转换的对象以及转换器的路径

配置文件的名字规定为:acitionName-conversion.properties 且配置文件的路径是在当前action的包下

user=com.newtouch.struts2.DIYConvert

方式二:继承StrutsTypeConverter

package com.newtouch.struts2;import java.util.Map;import java.util.StringTokenizer;import org.apache.struts2.util.StrutsTypeConverter;import com.newtouch.entity.User;public class TheStrutsConversion extends StrutsTypeConverter {    @Override    public Object convertFromString(Map map, String[] as, Class class1) {        System.out.println("convertopen");        String string = as[0];        StringTokenizer stringTokenizer = new StringTokenizer(string, ";");        User user = new User();        user.setUsername(stringTokenizer.nextToken());        user.setPassword(stringTokenizer.nextToken());        user.setAge(Integer.parseInt(stringTokenizer.nextToken()));        return user;    }    @Override    public String convertToString(Map map, Object obj) {        System.out.println("tostring");        User user = (User) obj;        String string = user.getUsername() + user.getPassword() + user.getAge();        return string;    }}

配置文件同上

如果你要配置全局的转换器那么你的配置文件要放在src下且命名为xwork-conversion.properties

键为转换的类型的全路径,值为转换器的转换器的路径

com.newtouch.entity.User=com.newtouch.struts2.TheStrutsConversion

 

转载于:https://www.cnblogs.com/ShaoXin/p/7274126.html

你可能感兴趣的文章
div 只显示两行超出部分隐藏
查看>>
C#小练习ⅲ
查看>>
debounce、throttle、requestAnimationFrame
查看>>
linux下的C语言快速学习—进程和文件
查看>>
电源防反接保护电路
查看>>
stm32 堆和栈(stm32 Heap & Stack)
查看>>
SpringMVC从入门到精通之第三章
查看>>
JS基础-dom操作
查看>>
【转】Android详细的对话框AlertDialog.Builder使用方法
查看>>
Unite Beijing 2015大型活动
查看>>
loading加载的代码
查看>>
PHP框架CI CodeIgniter 的log_message开启日志记录方法
查看>>
arraylist
查看>>
关于poi导出excel三种方式HSSFWorkbook,SXSSFWorkbook,csv的总结
查看>>
zoj 1649 Rescue (BFS)(转载)
查看>>
371. Sum of Two Integers java solutions
查看>>
2124: 等差子序列 - BZOJ
查看>>
3529: [Sdoi2014]数表 - BZOJ
查看>>
字符串匹配算法综述
查看>>
Linux centosVMware shell 管道符和作业控制、shell变量、环境变量配置文件
查看>>