概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
openGion 5.8.1.0
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## org.opengion.fukurou.xml
クラス JspIncludeReader

    java.lang.Object
      org.opengion.fukurou.xml.JspIncludeReader

    public class JspIncludeReader

extends java.lang.Object

このクラスは、jspファイルのXSLT変換に特化した、Readerオブジェクトを作成するクラスです。 jspファイル に記述される、jsp:directive.include を見つけて、そのファイル属性に 記述されているファイルを、インクルードします。 Tomcat の特性上、インクルード時のファイルは、＆等のエスケープを処理しておく 必要があります。 エスケープの前処理は、jsp:root タグのあるなしで判定します。 現時点では、 &amp; , < , <= , > , >= を前処理します。 JSP では、og:head タグで、<html> を出力したり、htmlend.jsp インクルードで </body></html> を出力していますが、フレームや、フォワードなど、整合性が 取れないケースがありますので、XML処理用として、<html> を出力していません。 変換結果を、正式な HTML ファイルとして再利用される場合は、ご注意ください。 なお、このクラスは、マルチスレッド対応されていません。

変更履歴:

  4.0.0.2 (2007/12/10) 新規追加

バージョン
  4.0
作成者
  Kazuhiko Hasegawa
導入されたバージョン:
  JDK5.0,

コンストラクタの概要
`JspIncludeReader()`

メソッドの概要
`static void` | `cacheClear()` インクルードしたファイルのキャッシュをクリアします。
`java.lang.String` | `getIncludeFiles()` インクルードしたファイル名(相対パス)のリスト文字列を返します。
`java.lang.String` | `getString(java.io.File file, java.lang.String encode)` JSP のインクルードを考慮した、JSPファイルを、String で返します。
`static void` | `main(java.lang.String[] args)` テスト用の main メソッド Usage: org.opengion.fukurou.xml.JspIncludeReader inFile [outFile]
`void` | `setRealPath(java.lang.String path)` jspInclude=true 時に、/jsp/common/** 等の include ファイルが存在しない場合の共有取得場所を指定します。

クラス java.lang.Object から継承されたメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

コンストラクタの詳細

### JspIncludeReader

    public JspIncludeReader()

メソッドの詳細

### getString

    public java.lang.String getString(java.io.File file,
                                      java.lang.String encode)

  JSP のインクルードを考慮した、JSPファイルを、String で返します。 このメソッドは、内部で再帰定義されています。つまり、jsp:directive.include 文字列が見つかった場合は、その代わりに、ファイル名を取出して、もう一度 このメソッドを呼び出します。インクルードファイルとの関連をチェックする為に ダミーのspanタグを入れておきます。 <span type="jsp:directive" include="ファイル名"><!-- --></span> ただし、ソースチェック時に、 Ver4 以降で、インクルードファイルに、XML宣言と、jsp:root を付与するケースがあります。 擬似的に取り込むときには、XML宣言は削除します。

  パラメータ:
    `file` - JSPファイル
    `encode` - ファイルのエンコード
  戻り値:
    インクルードを考慮した、JSPファイル
  変更履歴:

    5.2.1.0 (2010/10/01) directive.include で、XMLタグとroot タグは取り込まない。
    5.2.1.0 (2010/10/01) エスケープ処理の引数を廃止します。
    5.6.5.2 (2013/06/21) 小細工内容の変更。replaceAll にするのと、スペースまたはタブを使用します。
    5.6.7.1 (2013/08/09) コメントの処理のバグ修正。includeファイル名保存。
    5.6.7.1 (2013/08/09) includeファイルが存在しない場合は、gf共有から取得する。
    5.6.7.2 (2013/08/16) includeファイルを取り込む場合、代わりのspanタグを出力しておきます。
    5.6.7.4 (2013/08/30) includeファイルの先頭のpageEncoding指定のチェック用 span タグの出力
    5.7.6.2 (2014/05/16) realPath で、/jsp/common/以下に、実ファイルが存在しない場合の代替取得先を指定します。

### setRealPath

    public void setRealPath(java.lang.String path)

  jspInclude=true 時に、/jsp/common/** 等の include ファイルが存在しない場合の共有取得場所を指定します。 引数の処理対象ファイル(transformの引数ファイル)が、『.jsp』で、かつ、jspInclude=true の場合、 そのファイルを INCLUDE するのですが、/jsp/common/** 等の include ファイルは、 エンジン共通として、jspCommon6.x.x.x.jar で提供しています。 従来は、処理対象jspの相対パスで、../../../gf/jsp/commom/** を取り込んでいましたが、 Tomcat起動フォルダ以外のシステムのJSPチェックなどを行う場合は、gf フォルダが存在しない ケースがあります。 そこで、確実にgf が存在する、処理をキックしている環境の gf を使用するように変更します。 その環境とは、つまり、エンジン内部変数の REAL_PATH ですが、jsp などが実行していないと取得できません。

  パラメータ:
    `path` - /jsp/common/** 等の include ファイルの共有取得場所

### getIncludeFiles

    public java.lang.String getIncludeFiles()

  インクルードしたファイル名(相対パス)のリスト文字列を返します。 通常は、XSLT変換処理でエラーが発生した場合は、includeファイルの整合性が おかしい場合が多いので、デバッグ情報として利用します。 ただし、エラー発生時の位置特定まではできません。 この内部変数は、インスタンス変数ですので、includeファイルのキャッシュとは寿命が異なります。

  戻り値:
    includeファイル名のリスト文字列
  変更履歴:

    5.6.7.1 (2013/08/09) 新規追加

### cacheClear

    public static void cacheClear()

  インクルードしたファイルのキャッシュをクリアします。 キャッシュは、インスタンスではなく、スタティック変数で管理しています。 よって、一連の処理の初めと最後にクリアしておいてください。

  変更履歴:

    5.6.7.1 (2013/08/09) 新規追加

### main

    public static void main(java.lang.String[] args)

  テスト用の main メソッド Usage: org.opengion.fukurou.xml.JspIncludeReader inFile [outFile]

  パラメータ:
    `args` - コマンド引数配列

概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
| openGion 5.8.1.0
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.