在做项目的是否发现的一个小BUG,我也是在百度里面找到的答案!希望对大家有所帮助!
这是一个注册页面检查用户名是否已经被注册的功能!
首先看Ajax代码:
<span style="font-size:14px;">$.ajax({
url:"../../ajaxLoginAction",
data:{loginname:value},
type:"POST",
dataType:"json",
async:false,
cache:false,
success:function(result){</span>
<span style="font-size:14px;"><span style="white-space: pre;"> </span>//返回结果是一个boolean类型,用了SSH之后,一直返回不来这里 浏览器提示一个500的错误
if(!result.result){
$("#" + id + "Error").text("*用户名已存在");
showError($("#" + id + "Error"));
return false;
}
}
});
return true;</span>
applicationContext.xml文件:
只列出了相关的bean部分。
<bean id="userDao" class="com.zhou.dao.UserDao">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="userService" class="com.zhou.service.UserService">
<property name="userDao" ref="userDao"/>
</bean>
<bean id="RegisterAction" class="com.zhou.action.RegisterAction">
<property name="us" ref="userService"/>
</bean>
struts.xml文件:
<span style="font-size:14px;"><!-- Ajax验证用户名是否已经被注册 -->
<package name="strutsjson" extends="json-default">
<action name="ajaxLoginAction"
class="RegisterAction" >
<result type="json"></result>
</action>
</package></span>
<span style="font-size:24px;color:#ff0000;">最后是action文件:</span>
package com.zhou.action;
import com.opensymphony.xwork2.Action;
import com.zhou.service.IUserService;
import com.zhou.service.UserService;
public class RegisterAction implements Action {
private IUserService us;
private String loginname;
private boolean result;
/**
* 判断用户名是否存在的action
*/
public String execute() throws Exception {
boolean flag = us.ajaxValidateLoginname(loginname);
System.out.println(flag);
this.setResult(flag);
return SUCCESS;
}
public String getLoginname() {
return loginname;
}
public void setLoginname(String loginname) {
this.loginname = loginname;
}
public boolean isResult() {
return result;
}
public void setResult(boolean result) {
this.result = result;
}
public void setUs(IUserService us) {
this.us = us;
}
}
注意这个这个action,一般人可能直接把service声明,然后用MyEclipse创建get和set方法。但是这样Ajax总是返回不了结果,在网上查了一些方法,最后还是一个简单的方法解决了问题: 就是去掉get方法就OK了!大家如果遇到这个问题可以尝试一下哦!