Skip to main content link. Accesskey S
  • Log In
  • Help
  • IBM Logo
  • IBM Notes and Domino Application Development wiki
  • All Wikis
  • All Forums
  • Home
  • Product Documentation
  • Community Articles
  • Learning Center
  • IBM Redbooks
  • API Documentation
Community Articles Product Documentation Learning Center IBM Redbooks API Documentation This category Redbooks Wiki: Best Practices for Domino 8.0 Web Application Development Redbooks Wiki: Building Domino Web Applications using Domino 8.5.1 Redbooks Wiki: Creating Plugins for Lotus Notes, Sametime, and Symphony Redbooks Wiki: Lotus Domino Development Best Practices Custom Search Scope...
Search
Community Articles > 日本語 - Japanese > 「htmlFilter」 と 「htmlFilterIn」 プロパティの使い方
  • New Article
  • Share Show Menu▼
  • Subscribe Show Menu▼

About the Original Author

IBM contributorHiroaki Komine
Contribution Summary:
  • Articles authored: 41
  • Articles edited: 7
  • Comments Posted: 1

Recent articles by this author

XSP クライアントサイド Javascript オブジェクト関数

XPages アプリケーション開発の中で利用できる、XSP クライアントサイド Javascript オブジェクト関数について解説します。

Lotus Notes Java クラスのリサイクルとメモリ消費の検証

XPages や Java エージェントなどで Lotus Notes を操作する Lotus Notes Java クラスでは、開発者が明示的にリサイクルをして使用したオブジェクトを開放する必要があります。このリサイクルを適切に行わないことで、Java クラスの

XPages アプリケーションでの「可視(rendered)」プロパティによるパフォーマンス低下への対策

XPages アプリケーション開発で、「可視」設定ので「値の計算」はパフォーマンス低下を招く可能性があります。「可視」評価の Javascript に複雑な処理を実装する必要があるときには、そのスクリプトでパフォーマンスの低

XPages 内の JSF ライフサイクルのフェーズを表示する方法

XPages の裏側のでは JavaServer Faces の技術が使われています。より良い XPages アプリケーションを作成するには、この JSF の仕組みの理解が必要です。この記事では XPages の裏側で動く JSF のライフサイクルの動きを知るための

XPages SSJS で Lotus Notes クラスのオブジェクトでのリサイクルの及ぶ範囲

XPages や Java エージェントなどで Lotus Notes を操作する Lotus Notes Java クラスでは、使用したオブジェクトの開放をするために開発者が明示的に リサイクルをする必要があります。この recycle により開放される親子関係のオブ
Community article「htmlFilter」 と 「htmlFilterIn」 プロパティの使い方
Added by IBM contributor Hiroaki Komine | Edited by Takumi Ikeyama on June 26, 2012 | Version 4
  • Edit
  • More Actions Show Menu▼
Rate this article 1 starsRate this article 2 starsRate this article 3 starsRate this article 4 starsRate this article 5 stars
expanded Abstract
collapsed Abstract
No abstract provided.
Tags: Xpage, XPages EditBox, XPages コントロール, X-page, プロパティ
ShowTable of Contents
HideTable of Contents
  • 1 はじめに
  • 2 プロパティの違いと設定できるフィルタ
  • 3 動作の詳細
    • 3.1 「htmlFilter」 プロパティ
    • 3.2 「htmlFilterIn」 プロパティ

はじめに


「htmlFilter」 と 「htmlFilterIn」 プロパティはリッチテキスト・編集ボックス・複数行編集ボックスの各コントロールで指定できるプロパティです。

Lotus Notes 文書を XPages で表示するときに、表示フィールドに悪意のスクリプトが埋め込まれれことで問題が起こることがあります。そのような悪意のあるスクリプトを表示させない、あるいは文書の保存の際にはスクリプトを保存させないために、入出力時のフィルタを設定するために、これらのプロパティを使用します。


プロパティの違いと設定できるフィルタ


この2つのプロパティのうち「htmlFilter」 プロパティは、保存される文書のデータを XPages で表示するときのフィルタを設定します。
一方、「htmlFilterIn」 プロパティは、XPages で編集した文章を保存するときのフィルタを設定します。

指定できるフィルターは以下の4つです。デフォルトでは何も指定されていませんん。
  • 「identity」 ・・・ コンテンツの内容に手を加えない
  • 「acf」 ・・・ Active Content Filter (ACF) によるフィルタリングを行い、潜在的な危険性を持つ
  • 「empty」 ・・・ コンテンツのすべての内容を削除する
  • 「striptags」 ・・・ タグをすべて取り去り、平文のみを残す

参考文献: XPages Wiki の 「Work with RichText」

動作の詳細


これらの2つのプロパティの違いを見るために、10個のリッチテキストフィールドを持つフォームを作成し、このフォームの表示する XPage を作成し、リッチテキストコントロールでこれらのフィールドを表示・編集できるようにします。
フィールド名リッチテキストコントロールの
「htmlFilter」 プロパティの値
リッチテキストコントロールの
「htmlFilterIn」 プロパティの値
Body01
設定なし
設定なし
Body02
identity
設定なし
Body03
acf
設定なし
Body04
empty
設定なし
Body05
striptags
設定なし
Body01_1
設定なし
設定なし
Body02_1
設定なし
identity
Body03_1
設定なし
acf
Body04_1
設定なし
empty
Body05_1
設定なし
striptags
リッチテキストフィールドでテストするコンテンツとして以下の内容を使用します。これは 「htmlFilter」プロパティのテストをする、最初の5つのフィールドにLotus Notes から設定します。



最初のボタンには JavaScript で以下のようなコードを記述します。
alert("Hello");


次のボタンには LotusScript で以下のようなコードを記述します。
MessageBox "Hello" 


XPages ではなく、Domino HTML で表示すると、これらの文書はそのまま表示され、どちらのボタンも JavaScript の alert() として埋め込まれて、Web ブラウザで実行することが可能です。

「htmlFilter」 プロパティ


あらかじめ Lotus Notes でリッチテキストフィールドに上記のような装飾つきの文字列やボタンを入力した文書を、XPages から開きます。そして、入力した内容がどのように表示されるかを比較します。

リッチテキストコントロールの
「htmlFilter」 プロパティの値
XPages で表示されたページの状態
設定なし
「acf」が指定されたときと同じ状態。
identity
文字の装飾やボタンがそのまま表示され、ボタンを押すとダイアログボックスが表示されます。Web ブラウザでソースを確認すると、どちらのボタンも JavaScript で実装されたスクリプトが記述されています。
acf
文字の装飾やボタンがそのまま表示されますが、ボタンを押しても何も起こりません。ボタンの Web ブラウザでソースを確認すると、onClick イベントの内容は空文字となっています。
empty
リッチテキスとの内容はまったく表示されません。
striptags
文字の装飾がすべてなくなり平文として表示されます。ボタンは表示されません。

XPage で表示される画面のイメージは以下になります。

「htmlFilterIn」 プロパティ


「htmlFilterIn」プロパティは、XPages で編集し保存されるときのフィルターを設定します。このフィルターの動きを調べるには XPages で編集している画面にでリッチテキストコントロールに装飾つきの文字列やスクリプトを記述したコンテンツを入力する必要があります。
そこで、先ほど htmlFilter=identity で表示された 「Body02」 フィールドの内容をコピー&ペーストして、「htmlFilterIn」プロパティを設定したフィールドに入力し、文書を保存することとします。そしてその保存内容を Lotus Notes から確認します。

リッチテキストコントロールの
「htmlFilterIn」 プロパティの値
Lotus Notes で確認したリッチテキストフィールドの状態
設定なし
「identity」が指定されたときと同じ状態。
identity
文字の装飾やボタンがそのまま保存され、ボタンを押すとダイアログボックスが表示されます。Lotus Notesでソースを確認すると、どちらのボタンも JavaScript で実装されたスクリプトが記述されています。
acf
文字の装飾やボタンがそのまま保存されますが、ボタンを押しても何も起こりません。ボタンの Lotus Notes でソースを確認すると、JavaScript が選択されていますが、スクリプトは記述されていません。
empty
リッチテキスとの内容は空で保存されます。
striptags
文字の装飾がすべてなくなり平文として保存されます。ボタンは保存されません。

保存された文書を Lotus Notes から見たときのイメージは以下になります。

  • Edit
  • More Actions Show Menu▼


expanded Attachments (0)
collapsed Attachments (0)
Edit the article to add or modify attachments.
expanded Versions (4)
collapsed Versions (4)
Version Comparison     
VersionDateChanged by              Summary of changes
This version (4)Jun 26, 2012 10:32:15 PMTakumi Ikeyama  Updated by Ikeyama
3Jun 7, 2012 6:18:28 AMHiroaki Komine  IBM contributor
2Jun 7, 2012 6:15:52 AMHiroaki Komine  IBM contributor
1Jun 7, 2012 4:33:46 AMHiroaki Komine  IBM contributor
expanded Comments (0)
collapsed Comments (0)
Copy and paste this wiki markup to link to this article from another article in this wiki.
Go ElsewhereStay ConnectedHelpAbout
  • IBM Collaboration Solutions wikis
  • IBM developerWorks
  • IBM Software support
  • Twitter LinkIBMSocialBizUX on Twitter
  • FacebookIBMSocialBizUX on Facebook
  • ForumsLotus product forums
  • BlogsIBM Social Business UX blog
  • Community LinkIBM Collaboration Solutions
  • Wiki Help
  • Forgot user name/password
  • Wiki design feedback
  • Content feedback
  • About the wiki
  • About IBM
  • Privacy
  • Accessibility
  • IBM Terms of use
  • Wiki terms of use