0
回答
strut2 Action处理json报错

各位大神你们好,我在做用户注册的功能,创建了一个action 处理用户的注册和验证用户名是否存在的一个小功能,用户注册能正常完成,在验证用户名是用json做的,就是jquery请求老实报错;
我尝试将json验证单独用一个action处理,能正常完成,和注册逻辑放在一起,jquery就报错。请大家帮帮忙,帮我看看是这么回事

action
 public class RegisterAction extends ActionSupport {
    //用户注册
        private String name;
        private int flag;
        private User user;
        private String repass;

        public User getUser() {
            return user;
        }
        public void setUser(User user) {
            this.user = user;
        }
        public String getRepass() {
            return repass;
        }
        public void setRepass(String repass) {
            this.repass = repass;
        }

        //用户注册

        public int getFlag() {
            return flag;
        }
        public void setFlag(int flag) {
            this.flag = flag;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
                public String register(){
                    UserService us=new UserService();
                int id=us.register(user);
                    if(id>0){   
                        addActionMessage("恭喜您,"+user.getName()+"注册成功,请登录!");
                    return SUCCESS;
                    }
                    return ERROR;
                }

                public String checkName(){
                    System.out.println("****************************");
                    System.out.println("userName:"+getName());
                    UserService us=new UserService();

                    int id=us.getUserName(name);
                    setFlag(id);
                    if(id>0){

                        setName("用户名已存在,请更换一个用户名");
                    }else{
                        setName("用户名可以用");
                    }


                    return SUCCESS;

                }
}

struts.xml
  <package name="default" namespace="/" extends="json-default">


        <!-- 注册 -->
        <action name="registerForm" class="com.struts.action.RegisterAction" method="register" >
            <result >WEB-INF/content/login.jsp </result>
             <result name="error" >WEB-INF/content/register.jsp </result>
             <result name="input">WEB-INF/content/register.jsp</result>
        </action>

         <action name="checkUserName" class="com.struts.action.RegisterAction" method="checkName">
            <result  type="json" ></result>
        </action>
        <action name="*">
            <result >/WEB-INF/content/{1}.jsp </result>
        </action>
    </package>

页面的jquery请求

    $.post("checkUserName",{name:userName.value},function(data){
        $("#error").empty();

        if(data.flag>0){
        $("#error").append("用户名已存在,请重输入 !");
        }else{
        $("#error").append("用户名可以使用! ");
        }

    },"json");  

 

<无标签>
举报
tibetxin
发帖于1年前 0回/81阅
顶部