Java 如何从控制器名称+;springmvc中的动作名称?

Java 如何从控制器名称+;springmvc中的动作名称?,java,spring,spring-mvc,Java,Spring,Spring Mvc,在SpringMVC3中,是否存在从(控制器名称、操作名称)获取映射URL的现有解决方案,如asp.NETMVC或rails中的UrlHelper?我认为它非常有用 thx….您可能想要这样的东西: 在@Controller类中,可以向“action”方法添加类型为HttpServletRequest的额外参数 例如: @Controller public class HelloWorldController { @RequestMapping("/helloWorld") p

在SpringMVC3中,是否存在从(控制器名称、操作名称)获取映射URL的现有解决方案,如asp.NETMVC或rails中的UrlHelper?我认为它非常有用


thx….

您可能想要这样的东西:

@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()
方法之一来提取路径信息(请参见此处的说明:)

你能举个例子说明你想得到什么吗?比如,哦……我想从“url生成器”之类的东西中获取一个url……例如。三十、 链接(HelloWorldController.class,“helloworld”)--->“helloworld/helloworld.htm”,它可以在任何地方使用。。。我试图在spring的源文件中找到一些方法…但似乎实现起来并不容易…你应该更好地解释你真正需要的东西。我的答案是通用的,使用它,您可以获得Servlet上下文路径以外的任何路径(这是为您的web应用程序定义的根路径,如
localhost:portNum/myWebApplicationRootContext/path/beyond/application/context)