簡體   English   中英

HTTP狀態400-客戶端發送的請求在語法上不正確。 -在使用Hibernate的Spring MVC Web應用程序中

[英]HTTP Status 400 - The request sent by the client was syntactically incorrect. - within a Spring MVC web app using Hibernate

我希望有人可以幫我這個忙...我一直在看這個錯誤已有一段時間了。

我收到“ HTTP狀態400-客戶端發送的請求在語法上不正確”。 提交春季表格時出錯。

該錯誤與我的JSP spring表單中的以下代碼有關。

<form:input path="game_week_id"></form:input>

當我刪除此行代碼時,不會引發錯誤(但我當然想從輸入的表單值中設置game_week_id )。 只是要注意game_week_id實際上不是game_week_id表的ID(主鍵)-而是我為該列指定的名稱。 該表的主鍵實際上是一個自動編號。

我想在Fixtures表中插入一行(基於用戶表單輸入),該表由Fixtures類控制。

我在想將game_week_id表單字段綁定回該對象存在問題(或者可能是game_week_id與底層數據庫列的綁定)。

任何方向或任何幫助將不勝感激(我容易些!-我知道這可能是我正在做的愚蠢的事情)

來自我的控制器,Fixture對象和JSP表單的代碼如下所示:

//CONTROLLER
@RequestMapping(value="/addFixtures", method=RequestMethod.POST)
public ModelAndView registerFixture(@ModelAttribute Fixture fixture, Map<String, Object>        map1, HttpServletRequest request1)
{
    String message;
    System.out.println("Adding fixture..");

    ModelAndView modelAndView = new ModelAndView();
    System.out.println("Fixture: Game Week ID " + fixture.getGame_week_id());
    System.out.println("Fixture: Game ID " + fixture.getGame_id());

    fixtureService.addFixture(fixture);
    modelAndView.setViewName("addFixtures");
    message = "Fixture successfully added";
    modelAndView.addObject("message", message);
    return modelAndView;
}

治具類

    @Entity
    @Table(name = "fixtures")
    public class Fixture implements java.io.Serializable {

    private Integer id;
    public Gameweek game_week_id;
    private Integer game_id;
    private PPTeam home_team;
    private PPTeam away_team;

    public Fixture(){

    }

    public Fixture(
            Gameweek game_week_id, 
            Integer game_id,
            PPTeam home_team, PPTeam away_team, PPTeam homeTeam) {

        this.game_week_id = game_week_id;
        this.game_id = game_id;
        this.home_team = home_team;
        this.away_team = away_team;
    }

    @Id
    @GeneratedValue
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    @ManyToOne(cascade = CascadeType.PERSIST)
    @JoinColumn(name ="game_week_id") 
    public Gameweek getGame_week_id() {
        return game_week_id;
    }

    public void setGame_week_id(Gameweek game_week_id) {
        this.game_week_id = game_week_id;
    }

    public void setGame_week_id_int(Integer game_week_id_int) {
        this.game_week_id = game_week_id;
    }

    public Integer getGame_id() {
        return game_id;
    }

    public void setGame_id(Integer game_id) {
        this.game_id = game_id;
    }

    @ManyToOne
    @JoinColumn(name = "home_team", referencedColumnName = "teamId")
    public PPTeam getHome_team() {
        return this.home_team;
    }

    public void setHome_team(PPTeam home_team) {
        this.home_team = home_team;
    }

    @ManyToOne
    @JoinColumn(name = "away_team", referencedColumnName = "teamId")
    public PPTeam getAway_team() {
        return this.away_team;
    }

    public void setAway_team(PPTeam away_team) {
        this.away_team = away_team;
    }

    @Override
    public String toString() {
        return "Fixture [id=" + id + ", game_week_id=" + game_week_id
                + ", game_id=" + game_id + ", home_team=" + home_team
                + ", away_team=" + away_team + "]"; 
    }   
}

最后是我的JSP表格

<form:form method="POST" commandName="fixture" action="${pageContext.request.contextPath}/team/addFixtures">
    <table> 
        <tr>
            <td>Gameweek Number:</td>
            <td>
            <form:input path="game_week_id"></form:input>
            </td>
        </tr>
        <tr>
            <td>Game No:</td>
            <td>
            <form:input path="game_id"></form:input>
            </td>
        </tr>
    </table>
    <br>
    <input type="submit" value ="Add Fixture">
</form:form>

您的GameWeek課程是什么? 我的問題是,您嘗試將text-field綁定到對象GameWeek 當您發送帶有game_week_id請求時,它在Spring模型圖中是string ,而Spring無法從string創建一個GameWeek對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM