Spring MVC從3.0開始支持REST,而主要就是通過@PathVariable來處理請(qǐng)求參數(shù)和路徑的映射。
由于考慮到SEO的緣故,很多人喜歡把新聞的名稱作為路徑中的一部分去處理,這時(shí)候中文的名稱就會(huì)遇到問題,沒辦法映射,這個(gè)是因?yàn)榫幋a問題,只要到TOMCAT/conf下找到server.xml,添加URIEncoding="UTF-8"進(jìn)行URL編碼設(shè)置就可以解決中文問題。
另外經(jīng)常遇到路徑中有點(diǎn)".",而點(diǎn)是特殊字符,比如.html, .do等等,所以Spring MVC默認(rèn)是把點(diǎn)后面的信息當(dāng)作文件后綴,這時(shí)候我們就要修改這個(gè)默認(rèn)值。
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="interceptors" ref="localeChangeInterceptor"/>
<property name="useDefaultSuffixPattern" value="false" />
</bean>
另外,這時(shí)候如果只設(shè)置這個(gè),請(qǐng)求可以傳遞到對(duì)于的controller,但傳過去的數(shù)據(jù)會(huì)有問題,只會(huì)傳最后一個(gè)點(diǎn)前面的數(shù)據(jù),除非你在最后加上“/”,比如/news/測(cè)試.點(diǎn)/ 這樣就會(huì)把“測(cè)試.點(diǎn)”當(dāng)作整體,不然只會(huì)得到“測(cè)試”。這時(shí)候我們可以這樣設(shè)置
@RequestMapping("/news/{title:.*}")
這樣就一切ok啦。
posted on 2011-05-05 23:03
周銳 閱讀(3688)
評(píng)論(1) 編輯 收藏 所屬分類:
Java 、
Spring