Java Spring请求映射和主题

Java Spring请求映射和主题,java,spring-mvc,themes,Java,Spring Mvc,Themes,我对Spring3.0.7请求映射和Spring标准主题实现有一个问题 我的控制器实现如下 @ Controller @RequestMapping(value="myUrl") Public MyControllerClass @RequestMapping(Method=requestMethod.GET) Public myGetHandler (){ } 因此,一个带有的URL被处理,一切都很好 主题由此链接激活 <a href="?theme=mytheme"/>

我对Spring3.0.7请求映射和Spring标准主题实现有一个问题

我的控制器实现如下

@ Controller
@RequestMapping(value="myUrl")
Public MyControllerClass

 @RequestMapping(Method=requestMethod.GET)
 Public myGetHandler (){
 }
因此,一个带有的URL被处理,一切都很好

主题由此链接激活

 <a href="?theme=mytheme"/>
现在,我的控制器与以前一样工作,我可以访问参数,但单击主题链接(请参见上面的href),此页面的链接如下所示

/myUrl?theme=myTheme
导致异常,页面或主题都无法加载。稍后我将发布堆栈跟踪,但它表明控制器(而不是主题拦截器)中存在问题

我如何映射我的控制器,以便主题和参数化URL工作?理想情况下,我想我想改变我的请求映射,只处理我的参数化url而不处理其他内容

我尝试将请求映射更改为

   @RequestMapping(value="myUrl",params = "someParam=someValue") 

虽然这对带有我的参数的链接有效,但对主题链接无效。

我的猜测是,如果url带有参数,单击目标url中的
会导致双“?”,如
/myUrl?someParm=somevalue?theme=myteme


您应该使用类似c:url或一些javascript的东西来构建只有一个url的url?和&as-params-delimeter

如果您详细说明“点击主题链接导致崩溃”,则会有所帮助。链接的URL是什么?当你点击它时会发生什么?发布完整的堆栈跟踪,如果代码中出现异常,则发布相关代码。澄清错误条件。我将在spring指定主题url后发布堆栈跟踪。我不能改变它。它被主题拦截器截取。我将检查调试日志并确认,但当主题拦截器触发它时,似乎会“重新引用”现有URL
/myUrl?theme=myTheme
   @RequestMapping(value="myUrl",params = "someParam=someValue")