我正在尝试使用不使用注释的 spring 3 MVC 开发应用程序。我有几个原因(我喜欢中央配置位置,我不想将特定于 HTTP 的信息放在我的控制器中,我喜欢 XML 文件并且我的 IDE(intellij IDEA)对它有很好的支持)。
首先,我需要 URL-TO-Controller 映射。可以使用BeanNameUrlHandlerMapping
. 尽管此方法已从 3.0 文档中删除(“已被注释淘汰”),但它仍然有效。
然后我需要将 GET 参数映射到一些具有属性的 bean。在 struts 中,默认情况下它们具有它:( 我可以使用BaseCommandController
. 它已被弃用,但我可以@SuppressWarnings
用来摆脱丑陋的消息。
bindAndValidate
将在它之后填充命令对象。
至少我需要映射路径变量(来自 uri 模板)以使我的 URL 可读。而我在这里迷路了。看:https ://jira.springsource.org/browse/SPR-5757
BaseCommandController
仅适用于 GET/POST。我可以使用UriTemplate
. 但是bindAndValidate
接受HttpServletRequest
并且我不能向它添加参数:map 是只读的。我可以装饰它,但是......太多的黑客!
对于如此简单的需求,太多的黑客攻击。黑客,不推荐使用的类,BaseCommandController
在 3.0 中未记录。
是否可以使用没有注释的 spring mvc 3.0 制作应用程序?或者我应该为 MVC 使用其他东西(如 struts-2)?