`
竹临仙
  • 浏览: 36926 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

struts类型转换

    博客分类:
  • SSH
 
阅读更多
今天在做项目的时候,遇到一个很纠结的问题:

     jsp页面想将 0 传到后台Action类中有一个protected Double bdktpl字段
始终出错setBdktpl([Ljava.lang.String;)]

    经过查询资料   最终解决

1.自己定义一个转换器:---------------------------------------------------
package com.hikvision.iri.util;
import java.util.Map;
import org.apache.struts2.util.StrutsTypeConverter;
/**
* struts2.1.6中xworke-2.1.2包中有一个double转换时的bug, 当double为0时认为小于最小值, 会报错
* <p>
* 采用自定义转换器DoubleConvert
* </p>
* @author yangGuanLin 2011-7-18 下午02:02:32
* @version V1.0
* @modificationHistory=========================逻辑或功能性重大变更记录
* @modify by user: {修改人} 2011-7-18
* @modify by reason:{方法名}:{原因}
*/
@SuppressWarnings("unchecked")
public class DoubleConvert extends StrutsTypeConverter {

@Override
public Object convertFromString(Map context, String[] values, Class toClass) {
double d = 0;
if (Double.class == toClass || double.class == toClass) {
String doubleStr = values[0];
if (!BeanUtil.isEmpty(doubleStr)) {
d = Double.parseDouble(doubleStr);
}
}
return d;
}

@Override
public String convertToString(Map context, Object obj) {
return obj.toString();
}
}

2:在src目录下新建文件xwork-conversion.properties(固定名字)-------------
内容为:
java.lang.Double=com.hikvision.iri.util.DoubleConvert

3:重启动项目










分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics