2

アプリケーションは、ビュー内のドキュメントをカテゴリ別にフィルタリングするメカニズムを使用します。使用可能なすべてのカテゴリ (ごく一部) が検索され、アウトライン コンポーネントに供給されます。次に、各 Outline エントリは、ビュー データソースで使用される URL パラメータを追加して、ドキュメントをカテゴリ別にフィルタリングします。ANSI 以外の文字 (国際) に問題があります。多くの場合、期待どおりに動作していますが、一部のプロキシは URL でこれらの文字を使用することを禁止しています。

回避策は、URL のエンコード/デコードを使用することです。これにより、ビュー データソースの Category プロパティで SSJS コードが複雑になります。単純な代わりに、context.getUrlParameter("category");「複雑な」パラメーターをデコードする必要があります。たとえば、次のようにします: http:// www.mkyong.com/java/how-to-encode-a-url-string-or-form-parameter-in-java/

これを簡素化する XPages 固有の方法はありますか?

4

1 に答える 1

13

ANSI 以外の文字は、古い RFC 仕様では許可されておらず、エンコードする必要があります。escapeおよびunescapeという名前の SSJS 関数がありますが、正しく動作していません (最後に 8.5.3 でテストされました)。

ただし、代わりに Java を使用できます。URL にパラメーターを追加する前に、次の SSJS を使用できます。

java.net.URLEncoder.encode (" ABC DEF", "utf-8")

これにより、%20ABC%20DEFの結果が得られ、パラメーターとして URL に追加できます (fe ?category=%20ABC%20DEF )。

SSJS でパラメーターをデコードするには、次を使用して元に戻すことができます。

var hlp = context.getUrlParameter("category");
var param = java.net.URLDecoder.decode (hlp, "utf-8")
于 2012-04-12T14:51:58.200 に答える