SpringMVC如何实现长尾词搜索功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计306个文字,预计阅读时间需要2分钟。
使用Spring MVC控制器进行跳转并传递参数示例:
java@RequestMapping(value=/createOrderForOld)public String createOrder(HttpServletRequest req) { // 传递参数到另一个控制器 req.setAttribute(orderDetail, 订单详情); return forward:/createOrder;}
@RequestMapping(value=/createOrder)public String createOrder() { // 获取传递的参数 String orderDetail=(String) request.getAttribute(orderDetail); // 处理订单逻辑 System.out.println(订单详情: + orderDetail); return success;}
Spring MVC contorller跳转到另一个controller并传值 示例均从createOrderForOld跳转到createOrder 1: forward 请求转发 @RequestMapping(value ="/createOrderForOld") public String createOrder(HttpServletRequest request,ModelMapmodel) { return"forward:/createOrder"; } @RequestMapping(value ="/createOrder") public String createOrder(String oderId,String orderName,ModelMap model) { return"index; } forward跳转,是请求转发,参数自动跳转,所以当localhost:8080/my-app/createOrderForOld?orderId=123 该链接请求createOrderForOld接口后 请求转发到createOrder接口时,参数自动带过来了,createOrder中oderId自动赋值为“123”,参数名称需一致,否则无法传参赋值。 2: redirect 重定向 @RequestMapping(value ="/createOrderForOld") public String createOrder(HttpServletRequest request,ModelMap model) { model.put("orderName","newOld"); return"redirect:/createOrder?orderId=123"; } @RequestMapping(value ="/createOrder") public String createOrder(String oderId,String orderName,ModelMap model) { return"index"; } 当请求localhost:8080/my-app/createOrderForOld 链接请求createOrderForOld接口后 请求重定向到createOrder接口时,通过model.put方法 ,createOrder中oderName自动赋值为“newOld”,通过参数拼接orderId自动赋值为“123”。 故redirect跳转到另一个controller是通过model还是拼接url均可。参数名称需一致,否则无法传参赋值。 RedirectAttributes和ModelMap或Model不推荐一起使用,因为在redirect传值时,同时存在,只有RedirectAttributes中参数值被传递,ModelMap或Model中变量不会传递。
本文共计306个文字,预计阅读时间需要2分钟。
使用Spring MVC控制器进行跳转并传递参数示例:
java@RequestMapping(value=/createOrderForOld)public String createOrder(HttpServletRequest req) { // 传递参数到另一个控制器 req.setAttribute(orderDetail, 订单详情); return forward:/createOrder;}
@RequestMapping(value=/createOrder)public String createOrder() { // 获取传递的参数 String orderDetail=(String) request.getAttribute(orderDetail); // 处理订单逻辑 System.out.println(订单详情: + orderDetail); return success;}
Spring MVC contorller跳转到另一个controller并传值 示例均从createOrderForOld跳转到createOrder 1: forward 请求转发 @RequestMapping(value ="/createOrderForOld") public String createOrder(HttpServletRequest request,ModelMapmodel) { return"forward:/createOrder"; } @RequestMapping(value ="/createOrder") public String createOrder(String oderId,String orderName,ModelMap model) { return"index; } forward跳转,是请求转发,参数自动跳转,所以当localhost:8080/my-app/createOrderForOld?orderId=123 该链接请求createOrderForOld接口后 请求转发到createOrder接口时,参数自动带过来了,createOrder中oderId自动赋值为“123”,参数名称需一致,否则无法传参赋值。 2: redirect 重定向 @RequestMapping(value ="/createOrderForOld") public String createOrder(HttpServletRequest request,ModelMap model) { model.put("orderName","newOld"); return"redirect:/createOrder?orderId=123"; } @RequestMapping(value ="/createOrder") public String createOrder(String oderId,String orderName,ModelMap model) { return"index"; } 当请求localhost:8080/my-app/createOrderForOld 链接请求createOrderForOld接口后 请求重定向到createOrder接口时,通过model.put方法 ,createOrder中oderName自动赋值为“newOld”,通过参数拼接orderId自动赋值为“123”。 故redirect跳转到另一个controller是通过model还是拼接url均可。参数名称需一致,否则无法传参赋值。 RedirectAttributes和ModelMap或Model不推荐一起使用,因为在redirect传值时,同时存在,只有RedirectAttributes中参数值被传递,ModelMap或Model中变量不会传递。

