提交时Spring mvc http 400错误

时间:2016-01-07 17:14:45

标签: java spring spring-mvc

每当我想保存我的实体时,它都会抛出此错误:Http 400错误,“客户端发送的请求在语法上是不正确的。”
edit.jsp:

   <f:form action = "update.html" modelAttribute="Dolgozo">
        <input type="hidden" name = "id" value="${d.dolgozoId}">
        <label for="nev">Név: </label>
        <input type="text" name = "nev" value="${d.nev}">
           </br>
        <label for="szulido">Születési idő: </label>
        <input type="date" name = "szulido" value="${d.szulido}">
            </br>
        <label for="anyjaneve">Anyja neve: </label>
        <input type="text" name = "anyjaneve" value="${d.anyjaneve}">
            </br>
        <label for="telefonszam,">Telefonszám: </label>
        <input type="text" name = "telefonszam" value="${d.telefonszam}">
            </br>
        <label for="lakcim">Lakcím: </label>
        <input type="text" name = "lakcim" value="${d.lakcim}">
            </br>
        <input type="submit" value="Módosít">
    </f:form>

控制器:

@Controller
public class DolgozoController {

@RequestMapping(value = "index")
public ModelAndView redirect(){
    ModelAndView MV = new ModelAndView();
    MV.setView("index");
    return MV;
}

@RequestMapping(value = "getAll", method = RequestMethod.GET)
public String getAll(Model m){

    DolgozoModel model = new DolgozoModel();
    m.addAttribute("lst", model.getAll());

    return "data";

}

@RequestMapping(value = "edit", method = RequestMethod.GET)
public String edit(@RequestParam(value = "id") int id, Model m){
    java.math.BigDecimal bd = new  java.math.BigDecimal(String.valueOf(id));
    DolgozoModel model = new DolgozoModel();
    Dolgozo d = new Dolgozo();

    d = model.getDolgozo(bd);
    m.addAttribute("d", d );
    return "edit";

} 

@RequestMapping(value = "update", method = RequestMethod.POST)
public String update(@ModelAttribute(value = "Dolgozo")Dolgozo d){

    DolgozoModel model = new DolgozoModel();
    Dolgozo dolg = new Dolgozo();
    dolg = model.getDolgozo(dolg.getDolgozoId());

    dolg.setNev(d.getNev());
    dolg.setAnyjaneve(d.getAnyjaneve());
   //dolg.setSzulido(d.getSzulido());
    dolg.setLakcim(d.getLakcim());
    dolg.setTelefonszam(d.getTelefonszam());

    model.edit(dolg);

return"redirect:getAll.html";
}
}

我在我的实体上使用'Date'属性,也许这就是问题?

1 个答案:

答案 0 :(得分:0)

你的行为是错误的,这样写:

 <f:form action = "update" modelAttribute="Dolgozo" method="post">

路径应该如下:

 @RequestMapping(value = "/update", method = RequestMethod.POST)