xiangshuntianlong 2015-07-19 12:40 采纳率: 0%
浏览 2158

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”没有任何查询条件的查询。

不知道有没有表达清楚。

  • 写回答

1条回答

  • 丵鹰 2015-07-19 13:40
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥15 python天天向上类似问题,但没有清零
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?