spring mvc 问题请教 controller 页面参数

问题描述

spring mvc 问题请教 controller 页面参数

操作的实体contact(联系人)
ContactController 里面有两个方法:

// “/contact” 是默认调用的处理方法
@RequestMapping(method = RequestMethod.GET)
public String list(
@RequestParam(value = "page", defaultValue = "1") int pageNumber,
@RequestParam(value = "page.size", defaultValue = PAGE_SIZE) int pageSize,
@RequestParam(value = "sortType", defaultValue = "auto") String sortType,
Model model, ServletRequest request) {
。。。。。。。。。。。。。。。
// 将搜索条件编码成字符串,用于排序,分页的URL
model.addAttribute("searchParams", Servlets.encodeParameterStringWithPrefix(searchParams, "search_"));
return "contact/contactList";
}

//根据联系人ID(一个或多个),对联系人进行删除
@RequestMapping(value = "delete")
public String delete(
@RequestParam(value = "page", defaultValue = "1") int pageNumber,
@RequestParam(value = "page.size", defaultValue = PAGE_SIZE) int pageSize,
@RequestParam(value = "sortType", defaultValue = "auto") String sortType,
Model model, ServletRequest request) {
。。。。。。。。。。。。。。。
model.addAttribute("message", "成功删除联系人信息!");//最终非redirect,所以使用model保存操作结果信息。
return list(pageNumber, pageSize, sortType, model, request);
return "redirect:/contact/";
}

目的:
1、http://localhost:8080/crm/contact?+一堆查询参数串。。。。。
---没问题,
通过
model.addAttribute("searchParams", Servlets.encodeParameterStringWithPrefix(searchParams, "search_"));
return "contact/contactList";
后,返回的 联系人列表页面 之前的查询参数都在。

2、选中 联系人 进行删除操作。
提交的url是 http://localhost:8080/crm/delete
controller的delete 方法,我之所以放那么多参数,就是为了在delete方法中调用 list()方法,list()方法中对页面的参数有些特殊处理。

delete()方法中最后:
情况1:return list(pageNumber, pageSize, sortType, model, request);
此情况会依照list方法,将导向 联系人列表页面(return "contact/contactList";),而且还是按照之前的查询参数查询出符合提交的联系人。并且之前的查询条件在页面上也可以展示。

但问题是:浏览器上的URL是 http://localhost:8080/crm/contact/delete?+一堆查询条件
这种情况下如果刷新页面会有问题。

我的目标是:
step1:http://localhost:8080/crm/contact?+一堆查询参数串。。。。。查询出符合条件的联系人
------这点没问题。

step2:http://localhost:8080/crm/contact/delete 提交后,删除成功后。浏览器的url是
http://localhost:8080/crm/contact?+一堆查询参数串。。。。。

在delete()方法的最后,我可以直接 return "redirect:/contact/"; 进行重定向,但这样最终是“http://localhost:8080/crm/contact”没有任何查询条件的查询。

不知道有没有表达清楚。

解决方案

Spring MVC Controller线程问题

解决方案二:

还是不知道你说的什么意思

时间: 2024-09-17 03:51:53

spring mvc 问题请教 controller 页面参数的相关文章

jsp页面传值在spring mvc中的controller中的获取

问题描述 jsp页面传值在spring mvc中的controller中的获取 <% Seller seller =(Seller)session.getAttribute("sellerinfo"); %> <form action="<%=basePath%>plmanage/updateSeller.do" method="post"> <input type="hidden"

spring mvc aop获取controller中的方法中的参数名称

问题描述 spring mvc aop获取controller中的方法中的参数名称 //配置切入点,该方法无方法体,主要为方便同类中其他方法使用此处配置的切入点 //"execution(* com.nong.aop.*.controller..*.*(..))" /*@Pointcut("execution(* com.nong.aop.*.controller.*(..))") public void aspect(){} // 配置前置通知,使用在方法aspe

Spring MVC笔记 添加错误页面

使用Spring MVC的Web项目,可以使用DispatcherServlet来指定异常页面,下面是具体的配置: 在Spring配置文件中配置: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 <?xml version="1.0" encoding="UTF-8" ?> <beans xmlns="http://www.springf

spring MVC中定义异常页面

如果我们在使用Spring MVC的过程中,想自定义异常页面的话,我们可以使用DispatcherServlet来指定异常页面,具体的做法很简单: 下面看我曾经的一个项目的spring配置文件: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 <?xml version="1.0" encoding="UTF-8" ?> <beans xmlns=

spring mvc 如何在Controller类的每个方法执行前 调用我定义的一个方法

问题描述 在用spring mvc做一个项目 我想在@Controller类的每个方法@RequestMapping前都调用我定义的一个方法 该怎么弄? 我现在是这么弄的 手动在方法的第一行调用我定义的那方法 这样 太麻烦 有没有更好的方法呢 一下是我的代码@Controllerpublic class ModuleAction extends BaseAction {@Autowiredprivate ModuleMgr manager;@RequestMapping("/systemMgr/

Spring MVC重定向跳转传递参数的实例

在很多时候我们在代码中执行完业务以后需要带参数重定向到某一页面,比如我们在SpringMVC框架中执行完成业务后需要跳转列表,并且需要传递业务结果,我使用的是RedirectAttributes来实现的  代码如下 复制代码 @RequestMapping("/child")  public ModelAndView childChangeClass(String childId, String classId,RedirectAttributes attr) {   ModelAnd

求解spring mvc 使用注解Controller 怎么对应多种不同的视图结果

问题描述 比如说 使用注解 顶一个 TestController 和一个 Test2Controller里面方法 返回的时候 一个返回 list ---- //打算对应jsp界面 list.jsp一个返回 list //对应html 界面 list.html但是他们都是在方法中返回 return "list"这个要怎么设置 他们对应不同的 文件后缀.最好能给个例子的配置 谢谢 解决方案 我觉得总得有return不同的才能实现,如 return "list.jsp"

spring mvc如何给controller 配置指定的interceptor

问题描述 例如系统中有些controller需要验证是否登录,有些需要验证是否有权限访问,而其他的controller是不需要进行任何验证就可以访问的,这种情况该怎么配置interceptor? <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"> <property name="interceptors">

Spring MVC中restful接口的参数问题,能不在每个地方配置@RequestBody吗?

问题描述 RT用springside4新写了个项目,里面用的不是Jersey,默认不能接受application/json作为参数,application/x-www-form-urlencoded可以.查了一圈,发现加了@RequestBody就可以了,但是每个方法的每个参数都加有点繁琐,能用xml解决吗?另外就是配了@RequestBody之后其他类型的传法都不管用了,HttpMessageConverter哪里不是配了好几个吗?有点疑惑,能同时接受多种格式吗?谢谢大家! 解决方案 解决方案