重定向url中帶引數問題,以及http 引數解析

2021-09-01 20:28:07 字數 1488 閱讀 8942

進入乙個頁面處理完後還要返回到進入的頁面,常見場景是 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 標誌...