如何从springmvc中的控制器名称+动作名称获取映射的URL?

时间:2012-06-01 14:27:41

标签: java spring spring-mvc

是否存在从Spring MVC3中的(controller-name,action-name)获取映射URL的现有解决方案,如asp.net mvc或rails中的UrlHelper?我认为这非常有用!

... THX

1 个答案:

答案 0 :(得分:1)

可能你想要这样的东西:

在您的@Controller课程中,您可以在“action”方法中添加 HttpServletRequest类型的额外参数。

示例:

@Controller
public class HelloWorldController {

    @RequestMapping("/helloWorld")
    public void helloWorld(HttpServletRequest request) {
        //do call #getRequestURI(), or #getRequestURL(), or #getPathInfo()
    }
}

使用默认配置,Spring将“自动”注入请求,然后您可以通过调用HttpServletRequest#getPathInfo(), HttpServletRequest#getRequestUrl()方法之一来提取路径信息(请参阅此处的说明:http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html#method_summary