【问题标题】:spring 3 mvc requestmapping dynamic param problemspring 3 mvc requestmapping 动态参数问题
【发布时间】:2011-07-01 02:18:33
【问题描述】:

我有以下代码可以正常使用 http://localhost:8080/HelloWorldSpring3/forms/helloworld

但我想让 url 有这样的东西

http://localhost:8080/HelloWorldSpring3/forms/helloworld/locname_here/locid_here

我发现添加这个@RequestMapping("/helloworld/**") 会起作用,但是当我尝试访问时

http://localhost:8080/HelloWorldSpring3/forms/helloworld/locname_here/locid_here

没有找到。

Web.xml 入口如下

<servlet-mapping>
      <servlet-name>dispatcher</servlet-name>
      <url-pattern>/forms/*</url-pattern>
    </servlet-mapping>

映射bean入口

@RequestMapping("/helloworld/**")
       public ModelAndView helloWord(){
              String message = "Hello World, Spring 3.0!";
              return new ModelAndView("helloworld", "message",message);
       }

【问题讨论】:

    标签: spring request restful-url mapping


    【解决方案1】:
    @Controller
    @RequestMapping(value="/helloworld")
    public class HelloWorldController{
    
        @RequestMapping(value = "/{locname_here}/{locid_here}")
        public ModelAndView helloWorld(@PathVariable String locname_here, @PathVariable long locid_here) {
            //Logic
        }
    
    }
    

    上面的代码可以满足你的要求。

    【讨论】:

    • 它不工作它说“请求的资源()不可用。”
    • 请发送您从 jsp 中尝试的示例 URL。这将帮助我更好地了解您的要求
    • 什么是控制器映射。如果控制器映射包含如下代码所示的 helloworld,则该方法不需要具有相同的映射 @RequestMapping("/helloworld") public class HelloWorldController {...
    • 我唯一的映射如下@RequestMapping(value = "/helloworld/{locname_here}/{locid_here}")
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-23
    • 2012-03-02
    • 2015-06-22
    相关资源
    最近更新 更多