验证器中的remote需要的返回结果一定是json格式的数据:
{"valid":false} //表示不合法,验证不通过 {"valid":true} //表示合法,验证通过
jsp代码
remote: {
message: '该用户名已被使用',
url:"findByName.action",
delay:2000
}
struts.xml
<package name="user_json" extends="json-default">
<action name="findByName" class="org.mln.bbs.action.FindNameAction">
<result type="json">
<!-- 这里指定将被Struts2序列化的属性,该属性在action中必须有对应的getter方法 -->
<param name="root">jsonResult</param>
</result>
</action>
</package>
action代码
private Map<String,Object> jsonResult;
@Override
public String execute() {
jsonResult = new HashMap<String, Object>();
int userNum = userService.userNumByName(userRegisterInfo.getUsername());
if(userNum > 0) {
jsonResult.put("valid", false);
} else {
jsonResult.put("valid", true);
}
return "success";
}