[英]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.