tibet_xin 2017-03-27 09:30 采纳率: 0%
浏览 860

strut2 处理json的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");  

  • 写回答

1条回答

  • 关注
    评论

报告相同问题?

悬赏问题

  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R
  • ¥15 在线请求openmv与pixhawk 实现实时目标跟踪的具体通讯方法
  • ¥15 八路抢答器设计出现故障
  • ¥15 opencv 无法读取视频
  • ¥15 按键修改电子时钟,C51单片机
  • ¥60 Java中实现如何实现张量类,并用于图像处理(不运用其他科学计算库和图像处理库))
  • ¥20 5037端口被adb自己占了
  • ¥15 python:excel数据写入多个对应word文档