您好,请寻求帮助,
我要列出mysql数据库中的所有数据,然后在同一视图中对其进行修改。
我创建控制器:
@Controller
@RequestMapping("/list")
public class MainSpittleController {
@Autowired
private SpittleRepository spittleRepository;
@RequestMapping(method = { RequestMethod.GET, RequestMethod.POST })
public ModelAndView mainListAndModifySpittle(@ModelAttribute("spittle" Spittle spittle) {
MainSpittleForm mainSpittleForm = new MainSpittleForm();
List<Spittle> spittleList = spittleRepository.mainSellectAndModify();
mainSpittleForm.setSpl(spittleList);
/*view name, model name in jsp, object*/
return new ModelAndView("mainSpittleView" , "mainView", mainSpittleForm);
}
@RequestMapping(value = "/saveAll", method = RequestMethod.POST)
public String save(@ModelAttribute("mainView") MainSpittleForm mainSpittleForm) {
List<Spittle> contacts = mainSpittleForm.getSpl();
if(null != contacts && contacts.size() > 0) {
for(Spittle pm :contacts) {
spittleRepository.mainUpdate(pm);
}
}
return ("redirect:/");
}
}
然后我创建一个JSP视图:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Spittle List</title>
</head>
<body>
<div align="center">
<h2>List</h2>
<form:form modelAttribute="mainView" action="list/saveAll" method="POST">
<table BORDER="1" CELLPADDING="3" CELLSPACING="1">
<tr>
<th>Id</th>
<th>Wiadomość</th>
<th>Termin</th>
</tr>
<c:forEach items="${mainView.spl}" var="contact" varStatus="status">
<tr>
<!-- <td align="center">${status.count}</td>-->
<td><input value="${contact.id}" name="spl[${status.index}].id" readonly="readonly" /></td>
<td><input value="${contact.message}" name="spl[${status.index}].message" /></td>
<td><input value="${contact.time}" name="spl[${status.index}].time" /></td>
</tr>
</c:forEach>
</table>
<br />
<input type="submit" value="Zapisz" />
</form:form>
</div>
</body>
</html>
现在,当我按下“ Zapisz”时,我收到了错误消息400
说明由于某些东西被认为是客户端错误(例如,格式不正确的请求语法,无效的请求消息框架或欺骗性的请求路由),服务器无法或不会处理请求。
在其他应用程序上,我执行类似操作。显示数据,将它们打包到对象,发送给控制器并更新行。但是现在我错过了一些东西,我也不知道。
对于任何帮助或建议,我将非常感激。
答案 0 :(得分:0)
好吧
问题解决了。
这与从jsp传递到控制器的数据有关。
如果jsp返回日期,则控制器不知道如何处理日期,因为它接受字符串。
更具体地说,爱宾先生对此page进行了回答
寻找更好的东西就足够了。
致谢