3
我推出了一個小型網站。區分大小寫的網址
我發現我收到用戶的錯誤,經過調查發現他們嘗試使用的網址都是小寫,而我已經將它們聲明爲camelCase。
我不知道爲什麼這些用戶應該嘗試使用所有小寫(我不能想象有人居然會花時間去改變:
www.mysite.com/myAction.do
到
www.mysite.com/myaction.do
然而,我不能想到這會改變,否則其他人會遇到這種情況:
然後,您的映射文件中的yourAction.do嘗試被用戶訪問爲您的action.do?
我正在使用Struts2.3.1,sitemesh 2.4.2 - 我從來沒有聽說過或遇到過這樣的情況,並希望對可能導致它的建議,如果你們中任何一位遇到過相同或類似的情況。
是否有任何瀏覽器將camelCase.do重新映射到camelcase.do?無論出於何種原因
唯一的「解決方案」我能想到的(最好出兩個非常醜陋不雅的解決方法)是複製動作映射在struts.xml中
<action name="myAction" class="myActionClass" />
<action name="myaction" class="myActionClass" /> //added extra but what a 'dumb' solution
編輯:
是可以做同樣的方法?
這樣:
myAction!clear.do
將仍與URL正確映射:
myaction!clEAr.do
?
我注意到從重新讀取我的錯誤日誌,這是ULR中導致大多數錯誤的'錯誤的'方法。
謝謝!我已經添加了一個編輯,但也包含了同樣問題的方法。 –
@Roman C +1很好的答案,即使我在尋找這:)但在我的情況下,它不會工作,因爲我使用{}和{(?i)myaction}總是執行第一個:p – goodyzain