Spring MVC 中是否可以动态设置RequestMappings?

2024-01-10

我已经使用 Spring MVC 三个月了。我正在考虑一个动态添加RequestMapping的好方法。这是因为必须将控制器部件放入库中,然后动态添加它们。无论如何,我能想到的唯一方法就是声明一个像这样的控制器:

@Controller
@RequestMapping("/mypage")
public class MyController {

@RequestMapping(method = RequestMethod.GET)
    public ModelAndView mainHandler(HttpServletRequest req) {
        return handleTheRest(req);
    }

}

这不好,因为基本上我不使用 Spring。然后我无法使用表单绑定、注释等。我想将 requestMappings 动态添加到可以像通常的 MVC 控制器一样注释的类的方法中,并使用自动绑定,这样我就可以避免手动处理 HttpServletRequest 。

有任何想法吗? }


Spring MVC 使用以下实现来执行 URL 映射HandlerMapping http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/servlet/HandlerMapping.html界面。通常开箱即用的是默认实现,即SimpleUrlHandlerMapping, BeanNameUrlHandlerMapping and DefaultAnnotationHandlerMapping.

如果您想实现自己的映射机制,这很容易做到 - 只需实现该接口(或者,也许更有可能,扩展AbstractUrlHandlerMapping),在您的上下文中将该类声明为 bean,并且它将被DispatcherServlet当需要映射请求时。

请注意,您可以拥有任意多个HandlerMapping在一个上下文中随心所欲地实现。他们将被轮流咨询,直到其中一人匹配为止。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring MVC 中是否可以动态设置RequestMappings? 的相关文章

随机推荐