0

JSPファイルには、学生のグループを入力するフィールドがあり、このデータをエンティティクラスGroupStudentに渡します(ゲッターメソッドとセッターメソッドなし)

@Entity
@Table(name = "GroupStudent")
@NamedQueries({ 
@NamedQuery(name = "GroupStudent.getAllGroups", // get all groups
            query = "select g from GroupStudent g"),
@NamedQuery(name = "GroupStudent.getGroupByName", // get group by name
            query = "select g from GroupStudent g where g.groupStudentNumber = :name")
})
public class GroupStudent implements Serializable {
public GroupStudent() {}

public GroupStudent(String groupStudentNumber) {
    this.groupStudentNumber = groupStudentNumber;
}
// table GroupStudent fields
private Long groupStudentId;
private String groupStudentNumber;
}

JSP

<label>Group</label>
<input id="groupStudentNumber"/>
<input type="submit" value="Add" onclick="addGroupAjax()" />

データを Spring Controller に渡す ajax 関数

function addGroupAjax() {
            var groupStudentNumber = $('#groupStudentNumber').val();

            $.ajax({
                type: "POST",
                url: "/IRSystem/addData.html",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                data: "{groupStudentNumber:" + groupStudentNumber + "}",
                success: function(response) {

                },
                error: function(e) {
                    alert("Error" + e);
                }
            });
        } 

ただし、コントローラーにデータを渡しません。エンティティのフィールドが空です。

@RequestMapping(value = "/addData.html", method = RequestMethod.POST)
public @ResponseBody Student addNewGroup(@ModelAttribute(value = "group") GroupStudent group) {

    System.out.println("Entered group: " + group.getGroupStudentNumber());

    return new Student();
}

そして、エンティティ Student を ajax にも渡すことができないという別のこと。Spring jars に追加しました

jackson-core-asl-1.7.1 および jackson-mapper-asl-1.7.1 を使用して、エンティティ オブジェクトを ajax に渡すことができます。しかし、それは結果を与えませんでした。Google Chrome で (ajax に) データを渡そうとすると、ウィンドウにエラー [オブジェクト オブジェクト] が表示されます。なぜそれが起こるのかわかりません。情報をいただければ幸いです、ありがとうございます。

4

2 に答える 2