この問題を明確に説明するには、最初から始めなければなりません。
まず、バックグラウンドからパラメータを設定し、フィールドに入力します。このフィールドはキーワードと呼ばれ、このパラメータの値は efmis://|efmfj|username|2200|0||2014|http と呼ばれます。 ://10.20 .1.54:7001/cssServerportal222012/|||||02、この値の意味に関係なく、多くの人がこれより複雑な文字列に遭遇したことがあると思います。バックエンドが設定された後、フロントエンドは ${tag_bean.keywords} のように表示できます。バックエンドがどのように設定されていても、フロントエンドは計画どおりに表示されます。最初の問題は、 の位置にあります。ユーザー名の embed は現在ログインしているユーザーのユーザー名であり、動的コードである必要があります。 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);">
clickClient メソッドは呼び出されます。単なる移行方法です。
clickClient = function(path,keywords){
//キーワードの解析と分解を開始します
keywords =Keywords.replace("username","${user.username}");
var suffIndex=keywords.indexOf("http"); >var prefix = キーワード.substr(0,suffIndex-1);
var suffix = キーワード.substr(suffIndex-1);
var preIndex=prefix.lastIndexOf("|") 1; year = prefix.substr(preIndex);
prefix = prefix.substr(0,preIndex);
//キーワードの解析と分解の終了
//URL をマージします
keywords = prefix $(" #year").val () suffix;
clientInvoke(path,keywords);
}
このメソッドの最終目的は、clientInvoke メソッドとパラメータを呼び出すことです。渡されたキーワードは変更されます。特定の処理の後、最初に user を ${user.username} に置き換えます。これにより、EL 式が含まれている場合でも、現在のユーザー名を動的に呼び出すという目的が達成されます。 。 2014 年も動的で切り替え可能に設定されている場合、文字列は 3 つの部分に分解する必要があります:
プレフィックス: efmis://|efmfj|username|2200|0 ||
年: 2014
サフィックス: |http://10.20.1.54:7001/cssServerportal222012/||||02
ドロップダウン メニューで年を選択します。 clickClient メソッドをタッチすると、現在のオプションから年がすぐに取り出され、プレフィックスとサフィックスと連結されるため、年を柔軟に変更できます。
コードをコピー