我想在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" %>添加
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"%>查询 用户列表
我的Controller类
@Controller @RequestMapping("/items") public class ItemsController { @Autowired private ItemsService itemsService; @RequestMapping("/query") public ModelAndView queryItems() throws Exception{ ListitemsList = 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; } }
你的 addItem.jsp 是通过 控制器 add跳转的吗?
如果不是,是直接访问 addItem.jsp的话。
那么在submit的时候,添加成功的话。跳转到queryItems.jsp,没有添加成功就在返回addItem.jsp,那么addItem.jsp页面中提示用户错误信息。
刚才修改了下代码,把add页面的get和post分开写了两个Controller方法,post方法return一个重定向,实现了想要的效果。还有别的做法吗
在controller里面写
在处理完addItem的页面的请求(某个方法)中, 返回这样写return "redirect:url";
就可以重定向到你指定的url, url就是你queryItems的url