最近在做一个ssh2项目
action 中用domain model
public baseService bs;
public saleslipinputservice ss;
public syukoInputDto syukodto
其中 syukoInputDto 为一domain model
syukoInputDto :
private String actionKbn;
private TkrClientTbl client;
private TkrCurTbl curr;
private String errmsg;
private String flg;
private TkrSyukoTbl syukotbl;
TkrSyukoTbl 为一实体bean
里面有string 类型int类型 double类型数据字段
考虑到string到double转换struts2可能有问题
加了一个转换类
public class DoubleConvert extends StrutsTypeConverter {
@Override
public Object convertFromString(Map context, String[] values, Class toClass) {
if (Double.class == toClass) {
String doubleStr = values[0];
if (doubleStr.length()==0){
return 0;
}
Double d = Double.parseDouble(doubleStr);
return d;
}
return 0;
}
@Override
public String convertToString(Map context, Object o) {
return o.toString();
}
}
在jsp页面中先用ajax方式查询TkrSyukoTbl
查询结果放在jsp页面、再修改、提交
但提交时没有到达action中的相应方法
大概在struts2的数据类型转换拦截器、或set方法时就出错了
也没有出错提示、直接跳转到刚才的登录jsp
且文本框为空
但是我不用ajax方式查数据、而是直接在文本框中填数据、
则能跳到相应的action方法
不知为何?
各位是否碰到类似问题?
你看看请求ajax返回来的东西是什么吧,我估计会不会返回的不是值,而是某个页面的全部代码。
我曾经用ajax的时候遇到过这样的事情,
就是spring再注入的时候,配置return一般用success然后到一个页面或者其他什么的,
但是使用ajax的时候,这个地方不需要写return,你试试把return删掉看看行不行。