首頁 > web前端 > js教程 > 主體

使用js操作cookie的一點小收穫分享_javascript技巧

WBOY
發布: 2016-05-16 17:23:46
原創
1008 人瀏覽過

為了說清楚這個問題,必須從頭說起。

先從後台配置一個參數,放到一個欄位裡,該欄位叫做keywords,這個參數的值叫做efmis://|efmfj|username|2200|0||2014|http://10.20 .1.54:7001/cssServerportal222012/|||||02,姑且不去管這個值有什麼意義,相信很多人都遇過比這個更複雜的字串。後台配置以後,前台可以這麼來顯示:${tag_bean.keywords},可以肯定,無論後台配置成什麼,前台一定會原定不變的顯示出來,第一個問題出現:在username這個位置上,嵌入的是目前登入使用者的使用者名,必須是動態程式碼。難道要寫成efmis://|efmfj|${username}|2200|0||2014|http://10.20.1.54:7001/cssServerportal222012?這樣寫跟期望可有所不同,它會原樣不變的顯示出來,並不會把EL表達式翻譯成動態代碼,暫時不考慮能不能使用EL表達式的嵌套,很顯然不能直接使用,一定要處理這麼一個字串。

這個字串是要作為一個js方法的參數的,例如:

複製程式碼


程式碼如下:


  • [/#if] path="${c.path}" onclick= "clickClient(this.path,this.keywords);">
  • ${c.name}

    複製程式碼


    程式碼如下:


    clickClient = function(lick,,keys)> //解析分解keywords開始
    keywords = keywords.replace("username","${user.username}");
    var suffIndex=keywords.indexOf("http");
    var prefix = keywords.substr(0,suffIndex-1);
    var suffix = keywords.substr(suffIndex-1);
    var preIndex=prefix.lastIndexOf("|") 1;
    var year = prefix. substr(preIndex);
    prefix = prefix.substr(0,preIndex);
    //解析分解keywords結束
    //合併url
    keywords = prefix $("#year").val () suffix;
    clientInvoke(path,keywords);
    }


    在這個方法,最終實現的目的是呼叫clientInvoke方法,而傳進去的參數keywords是變化,要經過一定的處理,先把${user.username}把user替換掉,在js程式碼中,即使含有EL表達式也會動態的解析出來,這點就實現​​了動態的呼叫目前使用者名稱的目標。當2014這個年度也要設定為動態的,而且是可以切換的,那就要把該字串分解成三個部分:

    前綴:efmis://|efmfj|username|2200|0 ||

    年度:2014

    後綴:|http://10.20.1.54:7001/cssServerportal222012/|||||02
    把年度放在一個年度放在一個select在下拉式選單中,當觸動clickClient方法時,即時的從當前option中取出年度,然後和前綴後綴拼接起來,這樣就是實現了年度可變更的靈活性。 複製程式碼

    代碼如下:


    年度切換



    年度切換
    相關標籤:
    來源:php.cn
    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板