在 Struts 1 中,您可以在 struts-config.xml 中有如下声明:
<action path="/first" forward="/second.do">
在 Spring 中是否也可以做类似的事情,或者我可以只将 URL 映射到 Controller 吗?我正在使用 Spring 2.5.x。
我当然可以将 URL 映射到与以下相同的 Controller :
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/first.do">theController</prop>
<prop key="/second.do">theController</prop>
...
或者可以使用 org.springframework.web.servlet.mvc.ParameterizableViewController
并有类似的东西:
<bean id="theDummyController" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
<property name="viewName" value="forward:second.do"/>
</bean>
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/first.do">theDummyController</prop>
<prop key="/second.do">theController</prop>
...
我知道我可能会使事情复杂化,我应该坚持简单的事情来完成工作,但我希望这更像是一种声明:“这个 URL 实际上是一个快捷方式(或别名)到这个其他 URL”(不要问为什么......长话短说......)它在 ParameterizableViewController
中以某种方式可见,但不完全可见。
那么,这可能吗?
谢谢!
最佳答案
我最终创建了一个单独的 URL 处理程序映射,我将 URL 别名组合在一起。然后,我求助于对包含的映射的全部内容的非常详细的描述,例如:
<bean id="aliasUrlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<description>
<![CDATA[
The following URLs are in fact shortcuts (or aliases)
to other URLs etc etc (...I'll spare you the ugly part)
]]>
</description>
<property name="mappings">
<props>
<prop key="/first.do">theController</prop>
...
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/second.do">theController</prop>
...
关于java - 有没有办法在 Spring 中将一个 URL 映射到另一个 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1845669/