Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
$.ajax=>@ModelAttribute=null_Ajax - Fatal编程技术网

$.ajax=>@ModelAttribute=null

$.ajax=>@ModelAttribute=null,ajax,Ajax,我是一名学习Java的学生 我在学习和练习,但我问你一个问题,因为我有一个问题 通过$.ajax从join.jsp向controller发送(用户名、密码、irum、电子邮件) 从控制器获取@modeldattribute并将其移交给服务 将服务作为insert输入数据库 我在想一些事情 另外 不发送电子邮件 ID和密码规则不适用 我来写代码 join.jsp $("#join_btn").on("click", function() { var

我是一名学习Java的学生

我在学习和练习,但我问你一个问题,因为我有一个问题

  • 通过$.ajax从join.jsp向controller发送(用户名、密码、irum、电子邮件)
  • 从控制器获取@modeldattribute并将其移交给服务
  • 将服务作为insert输入数据库 我在想一些事情
  • 另外

  • 不发送电子邮件
  • ID和密码规则不适用
  • 我来写代码

    join.jsp

    $("#join_btn").on("click", function() {
        var formData = new FormData($("#join_form")[0]);
        for(var item of formData.entries()) {                // Normal output
            console.log(item [0]+ ' : '+ item [1]); 
        }
        alert("콘솔확인용");                                       // Normal output
        $.ajax({
            url: "/www/users/user",
            method: "post",
            data: formData,
            contentType: false,     
            processData: false      
        }).done(()=>{alert("succ")})
        .fail(()=>{alert("fail")});                     // "fail" output
    });
    

    控制器

    @PostMapping("/users/user")
    public ResponseEntity<?> join(@ModelAttribute UserDto.Join dto) {
        System.out.println("==============================================");
        System.out.println("dto : " + dto);            // null output
        service.join(dto);
        return ResponseEntity.ok(null);
    }
    
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3- 
    mapper.dtd">
     <mapper namespace="com.iciamall.www.dao.UserDao">
    
        <insert id="insert">
             insert into users(username, password, irum, email)
             values(#{username}, #{password}, #{irum}, #{email})
        </insert>
    
    dto

    @NoArgsConstructor
    public class UserDto {
      @Data
      public static class Join {
          private String username;
          private String password;
          private String irum;
          private String email;
       }
    }
    
    public interface UserDao {
    
    public User findById(String username);
    public User findByEmail(String email);
    public int insert(User user);
    }
    
    dao

    @NoArgsConstructor
    public class UserDto {
      @Data
      public static class Join {
          private String username;
          private String password;
          private String irum;
          private String email;
       }
    }
    
    public interface UserDao {
    
    public User findById(String username);
    public User findByEmail(String email);
    public int insert(User user);
    }
    
    实体

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    @Builder
    @Accessors(chain=true)
    public class User {
        private String username;
        private String password;
        private String irum;
        private String email;
    }
    
    userMapper

    @PostMapping("/users/user")
    public ResponseEntity<?> join(@ModelAttribute UserDto.Join dto) {
        System.out.println("==============================================");
        System.out.println("dto : " + dto);            // null output
        service.join(dto);
        return ResponseEntity.ok(null);
    }
    
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3- 
    mapper.dtd">
     <mapper namespace="com.iciamall.www.dao.UserDao">
    
        <insert id="insert">
             insert into users(username, password, irum, email)
             values(#{username}, #{password}, #{irum}, #{email})
        </insert>
    
    
    插入用户(用户名、密码、irum、电子邮件)
    值(#{username}、#{password}、#{irum}、#{email})
    
    =========================================================================================================

    控制器 System.out.println(“dto:+dto”); =>UserDto.Join(用户名=null,密码=null,irum=null,电子邮件=null)

    控制台 =>[请求处理失败;嵌套异常为java.lang.NullPointerException:无法调用“com.iciamall.www.service.UserRestService.join(com.iciamall.www.dto.UserDto$join)”,因为“this.service”为null]