情况一:在查询条件文本框里输入单引号时查询出现问题
查询数据时,控制台:ERROR [ExecuteThread: '12' for queue: 'weblogic.kernel.Default'] - No converter found for 'java.lang.Class'
页面弹出:Error marshalling int: Format error converting ' . See the logs for more details.
情况一解决办法:通过弹出信息初步判断是因为特殊字符转换成INT时产生的错误,目前解决办法,用正则判断,只允许输入数字。这不是一个好的解决办法,继续想其他的办法..............
情况二:在查询条件时间字段输入如2007-07-07时
ERROR [ExecuteThread: '14' for queue: 'weblogic.kernel.Default'] - No converter found for 'java.lang.Class'
页面弹出:Error marshalling java.util.Date: For input string: "2007-09-01". See the logs for more details.
解决办法:错误原因是因为前台提取表单会是STRING,而后面对应的rule.java里的时间是DATE类型。所以需要在脚本里将STRING类型转换为DATE类型。解决办法如下
- function getDate(dateString)
- {
- var regex = /^(\d{4})-(\d{2})-(\d{2})$/;
- if(!regex.test(dateString)){
- return null;
- }
- //var d = new Date(v.replace(regex, '$1/$2/$3'));
- return new Date(dateString.replace(regex, '$1/$2/$3'));
- }
- function searchAllRuleSub()
- {
- ...............................................
- rule.fbsjks = getDate($('fbsjq').getValue());
- rule.fbsjjs = getDate($('fbsjz').getValue());
- }