下面是js的验证
<script type="text/javascript">
$(document).ready(function(){
$.formValidator.initConfig({onError:function(msg){alert(msg)}});
$("#keyWord").formValidator({onshow:"请输入非法关键字",onfocus:"非法关键字不能为空",oncorrect:"通过"}).InputValidator({min:2,onerror:"非法关键字不能少于2个字符,请确认"}).AjaxValidator({
// type : "get",
url : "<c:url value='/ajax/checkIllegalKeyWord.html'/>",
datatype : "json",
data: "keyWord:"+$("#keyWord").val(),
success : function(data){
if(data.result == 'true' ){
return true;
}
else{
return false;
}
},
buttons: $("#button"),
error: function(){alert("服务器没有返回数据,可能服务器忙,请重试");},
onerror : "该关键字已经存在,请更换关键字",
onwait : "正在对关键字进行合法性校验,请稍候..."
}).DefaultPassed();
$("#replaceStr").formValidator({onshow:"请输入替换符",oncorrect:"通过"}).InputValidator({min:1,onerror:"替换符至少为一个字符"});
$("#level").formValidator({onshow:"请输入等级",oncorrect:"通过"}).InputValidator({min:1,max:5,type:"value",onerror:"等级为1-5之间的数"});
});
</script>
struts.xml
<action name="checkIllegalKeyWord" class="com.XX.xx.CheckAction" method="checkIllegalKeyWord">
<result type="json">
<param name="ignoreHierarchy">false</param>
<param name="excludeNullProperties">true</param>
<param name="excludeProperties">actionErrors,actionMessages,fieldErrors,texts,errorMessages,error,errors,locale</param>
</result>
</action>
验证在action中正常,但是总提示服务器没有返回数据.....并且其他原来没问题的验证也出现这个问题
错误:
org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: java.lang.IllegalAccessException: Class org.apache.struts2.json.JSONWriter can not access a member of class org.springframework.aop.TruePointcut with modifiers "public"
原因:
原来在checkAction中用到的xxManager.xx()方法时,不仅加上了setxxManager还不小心还添加了getxxManager()的方法这样json在返回数据的时候将manager也返回了,所以产生了这个情况。去掉get方法就没问题了