jsp頁面get傳參出現亂碼問題,只需要在tomcat\conf\server.xml里面配上useBodyEncodingForURI="true" 和 URIEncoding="true" 就可以了,如下:
<Connector port="8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000" useBodyEncodingForURI="true"
disableUploadTimeout="true" URIEncoding="true"/>
出現這個問題的時候,原來的需求是在jsp頁面里加上返回按鈕,具體說應該是后退
<input type="button" value="返回" onclick="javascript:history.back()"/>或者是
<a href = "javascript:history.go(-1);">返回上一頁</a>
此時呢,我不想用下面的代碼,因為有好幾個不同的頁面會訪問一個頁面,這時要返回就會出現每次都只能跳轉到一個頁面,而不能實現后退的效果!
<input type="button" value="返回" onclick="location.href('flightAction.do?handler=init')">
在頁面返回的時候會提示頁面過期,看過代碼后才知道jsp頁面是用post傳參的,于是我就改成get傳參,就出現了上面的問題,現在OK!
不過最近又發現用get傳參又會引出一些新問題,比如輸入的字符過大時,get就不能再把參數傳過去。還有就是會出現頁面過期,要把好多頁面post都改成get傳參。不知道這樣做的后退,是不是最佳的方法?還有更好的方法去解決后退頁面過期的問題嗎?