進入乙個頁面處理完後還要返回到進入的頁面,常見場景是 1)登陸重定向 2)從不同的入口進入公共頁面,處理完成後返回到進入的頁面。
下面鏈結會進入到公共上傳頁面,完成後返回activity/moke/tostep?activityid=234&tempstepid=33&index=2
href="/activity/moke/to_uploadfile?activityid=234&actstepid=185&redirectparam=activity/moke/tostep?activityid=234&tempstepid=33&index=2"
class="blue">
提交教案
在上傳頁面內通過hidden記錄要返回的頁面
上傳頁面提交後直接重定向到
redirectparam即可。
.....
return "redirect:/"+redirectparam;
存在的問題是:在後台request中獲得
redirectparam引數只能獲取部分引數,後面的
tempstepid=33&index=2引數丟失了。這樣導致
上傳頁面內hidden
redirectparam中只有部分引數,這樣重定向後的頁面引數就不對了。
type="hidden" name="redirectparam" value="。。。activityid=234" /> &
tempstepid=32&
index=1
這兩項丟失了
解決辦法:將
redirectparam的全部值編碼,變成如下形式
redirectparam=。。。activityid%3d234%26tempstepid%3d32%26index%3d1
這樣後台就將這個值當做乙個整體來處理,生成上傳頁面內的hidden
redirectparam中包含全部的引數,示例如下
type="hidden" name="redirectparam" value="。。。activityid=234&
tempstepid=32&
index=1" />
input中的內容也會當做乙個整體來處理,這樣獲取
redirectparam的值後重定向就正確了。
在freemarker中使用自定義函式來編碼
<#assign urlencode="cn.com.teacher.cistus.dt.common.freemarker.url.urlencode"?new()>
import jodd.servlet.urlcoder;
public class urlencode implements templatemethodmodel}
也可以通過標準的js方法encodeuricomponent來將url中多個引數編碼
"+encodeuricomponent('a=1&b=2&c=3')
這樣後台獲取到f的值是
a=1&b=2&c=3
重定向攜帶引數問題
問題描述,a.jsp傳送請求進入controller,並想重定向到b.jsp並攜帶引數,發現攜帶的引數前台獲取不到,然後採用以下方法即可 index public string delete string id,redirectattributes redirectattributes hello ...
nginx 過濾請求URL引數及重定向
現在有一同事,在針對web服務時,有一需求 條件為紅色的,能不能在nginx中跳轉到無用的地方,或直接返回404等 根據他這個需求,做出如下過濾引數 主要是通過對請求路徑ivr和其中的乙個引數值 destid 12590641637 編輯配置nginx的配置檔案 這裡是只要是以 vm ivr開頭的,...
iis 301 重定向 帶引數
iis 重定向到url dev.psedu.test.nd s q 選中 上面輸入的準確url 和 資源的永久重定向 重定向引數說明 s 將請求的 url 的字尾傳遞給新的 url。字尾是用重定向的 url 代替之後,初始 url 中所保留的部分。如果未設定 exact destination 標誌...