[英]Spring request Mapping and themes
我对Spring 3.0.7请求映射和Spring标准主题实现有疑问。
我的控制器实现如下
@ Controller
@RequestMapping(value="myUrl")
Public MyControllerClass
@RequestMapping(Method=requestMethod.GET)
Public myGetHandler (){
}
因此,可以处理带有http:// myApp / myUrl的URL,一切都很好。
主题通过链接链接激活
<a href="?theme=mytheme"/>
主题的春季配置是
<bean id="themeChangeInterceptor" class="org.springframework.web.servlet.theme.ThemeChangeInterceptor">
<property name="paramName" value="theme" />
</bean>
因此,如果我在myUrl页面上,并且单击此链接,则将加载主题,并且还将调用myGetHandler。
然而
如果我在网址中添加参数
/myUrl?someParm=somevalue
现在我的控制器可以像以前一样工作了,我可以访问该参数,但是单击主题链接(请参见上方的href),该页面的外观如下所示
/myUrl?theme=myTheme
导致异常,并且页面或主题均不会加载。 我将在稍后发布堆栈跟踪,但它提示控制器(而非主题拦截器)存在问题。
如何映射我的控制器,以便主题和参数化URL起作用? 理想情况下,我想我想更改请求映射以仅处理参数化的url,而没有其他处理?
我尝试将请求映射更改为
@RequestMapping(value="myUrl",params = "someParam=someValue")
虽然此方法适用于带有我的参数的链接,但不适用于主题链接。
我的猜测是,如果url是带params的,单击<a href="?theme=mytheme"/>
double“?” 在目标网址中,例如/myUrl?someParm=somevalue?theme=mytheme
。
您应该使用类似c:url或一些javascript的东西来仅用一个构建URL? 和&作为参数定界符
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.