我想在addItem的页面输入了信息之后点提交,可以提交表单然后跳转到queryItems的页面。请问要怎么写?是在Controller里写还是在JSP页面里写?
基础问题,刚开始学,求回答,非常感谢。
两个Jsp页面:
addItem.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html><head><title>添加</title></head>
<body>
<form method="post" action="/items/add.action">
输入姓名<input name="username" type="text" id="txtname"><br>
输入邮箱<input name="useremail" type="text" id="txtemail"><br>
<input type="submit" value="录入" >
</form>
</body>
</html>
queryItems.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<!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>查询</title></head>
<body>
<h1>用户列表</h1>
<form action="/items/query.action" method="get">
<c:forEach var="user" items="${userList}">
<c:out value="${user.user_name}"/>
----<c:out value="${user.user_email}"/>
<br>
</c:forEach>
</form>
</body>
</html>
我的Controller类
@Controller
@RequestMapping("/items")
public class ItemsController {
@Autowired
private ItemsService itemsService;
@RequestMapping("/query")
public ModelAndView queryItems() throws Exception{
List<User> itemsList = itemsService.findAllUser();
ModelAndView mv = new ModelAndView();
mv.addObject("userList", itemsList);
mv.setViewName("queryItems");
return mv;
}
@RequestMapping("/add")
public ModelAndView addItem(String username, String useremail) throws Exception{
User user = new User();
user.setUser_name(username);
user.setUser_email(useremail);
itemsService.insertUser(user);
ModelAndView mv = new ModelAndView();
mv.addObject(user);
mv.setViewName("addItem");
return mv;
}
}
Tulis
dalam pengawal Selepas memproses permintaan (kaedah tertentu) halaman addItem, kembali dan tulis
return "redirect:url";
seperti ini untuk mengubah hala ke url yang anda tentukan 🎜>Saya baru saja mengubah suai kod dan menulis dua kaedah Pengawal secara berasingan untuk mendapatkan dan menyiarkan pada halaman tambah Kaedah siaran mengembalikan hala semula, mencapai kesan yang diingini. Adakah terdapat cara lain?
Adakah addItem.jsp anda melompat melalui add controller?
Jika tidak, akses terus addItem.jsp.
Kemudian apabila menghantar, tambah perkataan dengan jayanya. Lompat ke queryItems.jsp, dan kembali ke addItem.jsp jika penambahan tidak berjaya, maka pengguna akan digesa dengan mesej ralat pada halaman addItem.jsp.