Webwork实现自定义数字类型转换器
来源:互联网 发布:玩dnf时网络 编辑:程序博客网 时间:2024/06/08 18:35
实现目标:从页面上输入123456.789,页面回显成金额格式:123,456.789
JavaBean:
package ch12;
public class User ...{
private Double salary;
public Double getSalary() ...{
return salary;
}
public void setSalary(Double salary) ...{
this.salary = salary;
}
}
public class User ...{
private Double salary;
public Double getSalary() ...{
return salary;
}
public void setSalary(Double salary) ...{
this.salary = salary;
}
}
Action:
package ch12;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import com.opensymphony.xwork.ActionSupport;
public class TestConvert extends ActionSupport ...{
private User user;
public User getUser() ...{
return user;
}
public void setUser(User user) ...{
this.user = user;
}
public String execute() throws Exception ...{
return SUCCESS;
}
}
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import com.opensymphony.xwork.ActionSupport;
public class TestConvert extends ActionSupport ...{
private User user;
public User getUser() ...{
return user;
}
public void setUser(User user) ...{
this.user = user;
}
public String execute() throws Exception ...{
return SUCCESS;
}
}
xwork.xml
<action name="testConvert" class="ch12.TestConvert">
<result name="success">/ch12/TestConvert.jsp</result>
</action>
<result name="success">/ch12/TestConvert.jsp</result>
</action>
自定义转化器:最重要的
这个转换器是对类定义的,为类的属性定义转换器,所以,命名方式为:ClassName-conversion.properties
内容为:salary=ch12.SalaryConvert 表示User类的salary属性使用ch12.SalaryConvert 这个类进行转换
需要注意的时,如果是页面输入和页面输出双向都用到salary属性,需要判断cls的类型,定义相应的转换规则
见代码注释
package ch12;
import java.text.DecimalFormat;
import java.util.Map;
import ognl.DefaultTypeConverter;
public class SalaryConvert extends DefaultTypeConverter ...{
public Object convertValue(Map map, Object obj, Class cls) ...{
if(cls==String.class)...{ //从action显示数据到页面
DecimalFormat fmt = new DecimalFormat("##,###,###,###,##0.00");
return fmt.format((Double)obj);
}else if(cls==Double.class)...{ //从页面提交到action
return new Double(((String[])obj)[0]);
}
return null;
}
}
import java.text.DecimalFormat;
import java.util.Map;
import ognl.DefaultTypeConverter;
public class SalaryConvert extends DefaultTypeConverter ...{
public Object convertValue(Map map, Object obj, Class cls) ...{
if(cls==String.class)...{ //从action显示数据到页面
DecimalFormat fmt = new DecimalFormat("##,###,###,###,##0.00");
return fmt.format((Double)obj);
}else if(cls==Double.class)...{ //从页面提交到action
return new Double(((String[])obj)[0]);
}
return null;
}
}
如果是从action到jsp,则进行数字格式转换
如果是从jsp到action,则把输入的String转换成Double,因为User类的salary属性是Double类型
运行jsp,输入123456.789,提交,页面显示结果为123,456.789
- Webwork实现自定义数字类型转换器
- webwork 类型转换器的使用
- Struts2实现自定义转换器和全局类型转换器
- Struts2实现自定义转换器和全局类型转换器
- Mybatis实现自定义的类型转换器TypeHandler
- MyBatis自定义类型转换器实现加解密
- Mybatis实现自定义的类型转换器TypeHandler
- 注册webwork/struts2的类型转换器
- 自定义类型转换器
- Struts2自定义类型转换器
- struts2 自定义类型转换器
- 自定义类型转换器
- struts2自定义类型转换器
- Struts2自定义类型转换器
- 自定义类型转换器实例:
- 自定义类型转换器
- 自定义类型转换器
- Struts2自定义类型转换器
- 万名北京网通ADSL及宽带用户致信息产业部,国务院的一封信
- 把ACCESS转成SQL数据库
- CSS_DHTML_DOM笔记
- P2P直播软件设计的技术原理和改进
- ASP连接SQL Server数据库的代码
- Webwork实现自定义数字类型转换器
- SQL SERVER的字段类型说明
- Spring+Hibernate配置事务
- XmlTextWriter用法
- About ZK
- 数组一 数组概述 (c#)
- 从硬盘安装ubutun linux记录
- 忍无可忍,决定宁可错杀千万,也不漏掉一个,弹已出膛,剑已出鞘!
- 数组二 声明初始化 (c#)