【问题标题】:Can't pass a parameter through the URL using <c:url> tag无法使用 <c:url> 标记通过 URL 传递参数
【发布时间】:2013-01-16 01:37:48
【问题描述】:

我正在使用 Spring MVC + Spring Security,并且正在尝试实现分页。 为此,我修改了菜单中指向要使用分页的页面的链接。

使用以下代码单击菜单中的“列表”链接时,出现错误 400:请求的资源不可用。

<li>
  <a href="<c:url value="/list.htm" ><c:param name="page" value="1" /></c:url>">List
  </a>
</li>

将参数添加到链接时,不使用&lt;c:param&gt;,同样的事情,错误400:

<li><a href="<c:url value="/list.htm?page=1" />">List</a></li>

当简单地使用这个,不传递任何参数时,链接工作正常:

<li><a href="<c:url value="/list.htm" />">List</a></li>

这是我控制器中的相关代码:

@RequestMapping(value = "/list", method = RequestMethod.GET)
    public String getEmployees(@RequestParam(value = "page", required = false) int page, ModelMap model) {
        model.addAttribute("employees", this.employeeManager.getEmployees(page));
        return "list";
    }

【问题讨论】:

    标签: spring spring-mvc spring-security jstl


    【解决方案1】:

    尝试以下使用通配符的请求映射。

    @RequestMapping(value = "/list.htm*", method = RequestMethod.GET)
        public String getEmployees(@RequestParam(value = "page", required = false) int page, ModelMap model) {
            model.addAttribute("employees", this.employeeManager.getEmployees(page));
            return "list";
        }
    

    您也可以尝试不使用通配符,但包括 .htm

    @RequestMapping(value = "/list.htm", method = RequestMethod.GET)
        public String getEmployees(@RequestParam(value = "page", required = false) int page, ModelMap model) {
            model.addAttribute("employees", this.employeeManager.getEmployees(page));
            return "list";
        }
    

    【讨论】:

    • @Dukable,很高兴我能帮上忙。您可能想查看更新,您可能不需要通配符,.htm 部分可能起到了作用
    • 只添加.htm也可以,不带通配符,再次感谢:)
    【解决方案2】:

    在 Spring 控制器中:

    @RequestMapping(value = "/list.htm", method = RequestMethod.GET)
    public String funcName(@RequestParam(value = "page", required = false) int page){
    return String;
    }
    

    【讨论】:

      猜你喜欢
      • 2012-03-12
      • 1970-01-01
      • 2014-05-22
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 2017-04-28
      • 1970-01-01
      • 2021-11-19
      相关资源
      最近更新 更多