第 1 章 JSVR 部品ライブラリ
1.4 JSP カスタムタグインタフェース
1.4.3 リファレンス
1.4.1 JSP カスタムタグインタフェースを使用する際の準備
JSPカスタムタグインタフェースを利用するには、次の1~4の手順を行う必要があります。
1. 利用者のWeb
アプリケーションの
web.xmlの編集
利用者のWebアプリケーションのweb.xmlに、次の太字の記述を追加します。
web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
....
<taglib>
<taglib-uri>com.fujitsu.jsvr.taglib</taglib-uri>
<taglib-location>/WEB-INF/jsvrtaglib.tld</taglib-location>
</taglib>
...
</web-app>
2. JSP
カスタムタグの定義ファイル(jsvrtaglib.tld)の配置
利用者のWebアプリケーションのWEB-INF配下に、Charset-Web入力のインストール先の"j_svr¥WEB-INF"の下にある jsvrtaglib.tld ファイルをコピーします。
3. JSP
カスタムタグのクラス(jsvrtaglib.jar)の参照
利用者のWebアプリケーションから、Charset-Web入力のインストール先の"j_svr¥WEB-INF¥lib¥jsvrtaglib.jar"を参照可能にします。
Interstage Application Serverの場合
利用者のWebアプリケーションを配備しているワークユニットで、[環境設定]タブの[ワークユニット設定]-[クラスパス]に、Charset-Web 入力のインストール先の"j_svr¥WEB-INF¥lib¥jsvrtaglib.jar"のパスを設定します。
Tomcatの場合
次の場所に jsvrtaglib.jar をコピーします。
- [利用者のWebアプリケーションの実フォルダ]¥WEB-INF¥lib
4. Charset-Web
入力の
Webアプリケーション
Contextの参照を許可
他のWebアプリケーションのコンテキストの参照を許可する設定が明示的に必要になります。
Interstage Application Serverの場合
[Webアプリケーション] の [環境設定] の [コンテキストの共有] を [する] に設定します。
Tomcatの場合
Tomcatでの、Chaset-Web入力のWebアプリケーションのコンテキストの設定にて、[クロスコンテキスト]をtrueにします。
コンテキスト設定ファイル"j_svr.xml"での設定の例)
下の太字部分のように「crossContext="true"」の設定を追加します。
<Context docBase="c:¥Program Files¥JapanistSVR¥j_svr" crossContext="true" />
注意
利用者のWebアプリケーションと、Charset-Web入力のWebアプリケーションとは、仮想ホスト(Tomcatの場合は、server.xmlの
<Host>、Interstage Application Serverの場合は、ワークユニットを意味する)が同じである必要があります。
1.4.2 使用方法
サンプルコードにそって、使用方法を説明します。
◆JSVR 部品を書き出す
全体の流れは次のとおりです。1. JSPカスタムタグインタフェースのライブラリの宣言 2. 部品の書き出し
ここでは、文字表示部品および文字入力部品それぞれの書き出しについて例として示します。
サンプルコード(JSVR部品を書き出す)
<%@ page contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" %>
<%@ taglib uri="com.fujitsu.jsvr.taglib" prefix="JSVR" %> (1)
<HTML>
<HEAD>
<META http-equiv="content-type" content="text/html; charset=Shift_JIS">
</HEAD>
<BODY>
<JSVR:EJText JSVRPath="/j_svr"
charsetName="EJ_SJIS" fontSize="32" text="登録ページ" /> (2)
<br>
<FORM action="...">
<JSVR:EJInputEnv JSVRPath="/j_svr" editable="true" (3)
charsetName="EJ_SJIS" submitName=""
tabindex="0" defaultText="" searchId="20|30|40" inputFontSize="24"
listFontSize="18" listCount="10" maxTextLength="30" grid="true"
detailedStyle="" textForeColor="CC0000" classOnFocus="" classOnBlur=""
classDisable="" eventCallBack="">
名前を入力してください<br>
<JSVR:EJInput submitName="name" searchId="40|20" /><br> (4)
住所を入力してください>
<JSVR:EJInput submitName="address" searchId="30|20" /><br> (5)
</JSVR:EJInputEnv> (6)
<INPUT type="submit">
</FORM>
</BODY>
</HTML>
(1) JSPカスタムタグインタフェースのライブラリの宣言
このJSP内でJSPカスタムタグインタフェースを使えるようにするための宣言です。
(2) JSVR文字表示部品の書き出し JSVR文字表示部品の設定例です。
(3) JSVR文字入力部品のプロパティ設定開始タグ
JSVR文字入力部品のプロパティ設定開始タグです。終了タグまでの間にある EJInputに対して、ここで設定したプロパティが適用 されます。
(4) JSVR文字入力部品の書き出し(名前入力用のプロパティ)
名前入力用プロパティの設定例です。
この例では、サブミット時のname属性を"username"に変更し、変換種別を"40|20"(氏名優先|標準変換)に変更しています
(5) JSVR文字入力部品の書き出し(住所入力用のプロパティ)
住所入力用プロパティの設定例です。
この例では、サブミット時のname属性を"address"に変更し、変換種別を"30|20"(住所入力|標準変換)に変更しています
(6) JSVR文字入力部品のプロパティ設定終了タグ
JSVR文字入力部品のプロパティ設定終了タグです。
注意
HTMLの<META>や、JSPでの文字エンコーディング指定の注意点については、「1.1.2 キャラクタセットについての注意」を参照して ください。
◆書き出した
JSVR部品を操作する
JSPカスタムタグインタフェースを使用すると、JavaScriptを記述する必要がなく便利ですが、利用者が自ら部品コントロールクラス
(EJ_Control)をクリエイトしないため、JSVR文字入力部品アクセスメソッドを使用する際は、現在のWebページ(window.document)に
おけるEJ_Controlのインスタンスを別途取得する必要があります。
また、書き出したJSVR文字入力部品に対してアクセスメソッドを使用する場合は、サブミット名からJSVR部品にアクセスするメソッド
(...ByName())を使用する必要があります。
次のサンプルコードは、JSVR文字入力部品(submitName="myName")の値を取得し、チェックするメソッドの例です。
サンプルコード(書き出したJSVR部品を操作する) ...
<JSVR:EJInput submitName="myName" searchId="40|20" /><br> (1) ...
<input type="button" onclick="checkEJInputValue()" value="チェックします">
...
<script language="JavaScript">
<!--function checkEJInputValue() {
var objEJC = ej_agt_getEJCInstance(); (2) var value = objEJC.getSubmitValueByName("myName"); (3) if( ... != value )
{
...
} ...
} //-->
</script>
...
(1) JSVR文字入力部品の書き出し
JSPカスタムタグインタフェースによるJSVR文字入力部品書き出しです。
(2) 部品コントロールクラスのインスタンスの取得
現在のWebページにおける部品コントロールクラス(EJ_Control)のインスタンスを取得します。
(3) JSVR文字入力部品のサブミット値を取得
JSPカスタムタグインタフェースで指定したサブミット名をアクセスメソッド(getSubmitValueByName())に渡し、特定のJSVR部品の サブミット値を取得します。
1.4.3 リファレンス
1.4.3.1 EJInput
解説
JSVR文字入力部品を書き出します。EJInputEnvと共に使用すると、プロパティをまとめて指定することができます。
構文
<JSVR:EJInput
JSVRPath="/j_svr" editable="true" charsetName="EJ_SJIS" submitName="" tabindex="0" defaultText="あいう えお" searchId="20|30|40" inputFontSize="24" listFontSize="18" listCount="10" maxTextLength="30"
grid="true" detailedStyle="" textForeColor="CC0000" classOnFocus="" classOnBlur="" classDisable=""
eventCallBack="" />
パラメータの解説
名称 型 解説
JSVRPath 文字列 Charset-Web入力のWebアプリケーション(j_svr)のドキュメントルートからのパスを指定(通常は
"/j_svr")
editable 論理値 編集の可/不可の指定(blnEditableを参照)
charsetName 文字列 運用文字コードの指定(strCharsetNameを参照)
submitName 文字列 サブミットした値を受け取るための名前(strSubmitNameを参照)
tabindex 数値(整数) INPUTタグのtabindexと同義(intTabindexを参照)
名称 型 解説
defaultText 文字列 デフォルトで表示する文字列(strDefaultTextを参照)
searchId 文字列 変換種別の指定(strSearchIdを参照)
inputFontSize 数値(整数) フォントサイズ(px単位) (intInputFontSizeを参照)
listFontSize 数値(整数) インライン変換時の候補リスト中のフォントサイズ(px単位) (intListFontSizeを参照)
listCount 数値(整数) インライン変換時の候補リスト中の候補数(intListCountを参照)
maxTextLength 数値(整数) INPUTタグのmaxlengthと同義(intMaxTextLengthを参照)
grid 論理値 グリッド表示の有無を指定(blnGridを参照)
detailedStyle 文字列 css-style属性の指定(strDetailedStyle参照)
textForeColor 文字列 文字色の指定(strTextForeColorを参照)
classOnFocus 文字列 フォーカス時に適用させるclassスタイル名の指定(strClassOnFocusを参照)
classOnBlur 文字列 ブラー時に適用させるclassスタイル名の指定(strClassOnBlurを参照)
classDisable 文字列 編集不可時に適用させるclassスタイル名の指定(strClassDisableを参照)
eventCallBack 文字列 イベント発生時に実行するコールバック関数の指定(funcEventCallBackを参照)
注意
・ タグは単体で使用します。タグで何かを囲うことはできません。
・ JSVRPath、charsetName、submitNameは、EJInput、またはそれを囲むEJInputEnvのどちらかに、必ず指定しなければならない属
性です。
1.4.3.2 EJInputEnv
解説
EJInputのプロパティをまとめて設定します。EJInput、またはその他のJSPカスタムタグインタフェースによる記述を囲って使用します。
構文
<JSVR:EJInputEnv
JSVRPath="/j_svr" editable="true" charsetName="EJ_SJIS" submitName="" tabindex="0" defaultText="あいう えお" searchId="20|30|40" inputFontSize="24" listFontSize="18" listCount="10" maxTextLength="30"
grid="true" detailedStyle="" textForeColor="CC0000" classOnFocus="" classOnBlur="" classDisable=""
eventCallBack="" >
...
<JSVR:EJInput ... />
...
</JSVR:EJInputEnv>
パラメータの解説
EJInput に従います。1.4.3.3 EJText
解説
JSVR文字表示部品を書き出します。EJTextEnvと共に使用すると、プロパティをまとめて指定することができます。
構文
<JSVR:EJText
JSVRPath="j_svr" charsetName="EJ_SJIS" text="あいうえお" fontSize="32" transparent="true"
foreColor="000000" backColor="FFFFFF" />
パラメータの解説
名称 型 解説
JSVRPath 文字列 Charset-Web入力のWebアプリケーション(j_svr)のドキュメントルートからのパスを指定
(通常は "/j_svr")
charsetName 文字列 運用文字コードの指定(strCharsetNameを参照)
fontSize 論理値 フォントサイズ(px単位) (intInputFontSizeを参照)
text 論理値 デフォルトで表示する文字列 (strDefaultTextを参照)
transparent 論理値 文字背景を透過にするかどうかをtrue(透過する)/false(透過しない)で指定
[注意]
trueを指定した場合、backColorは無視される。
foreColor 数値(整数) 文字色の指定(strTextForeColorを参照)
backColor 文字列 文字背景の指定(色の指定方法はstrTextForeColorを参照)
注意
・ JSVRPath、charsetNameは、EJInput、またはそれを囲むEJInputEnvのどちらかに、必ず指定しなければならない属性です。
1.4.3.4 EJTextEnv
解説
EJText のプロパティをまとめて設定します。EJText、またはその他のJSPカスタムタグインタフェースの記述を囲って使用します。
構文
<JSVR:EJTextEnv
JSVRPath="/j_svr" charsetName="EJ_SJIS" fontSize="60" text="" transparent="false" foreColor="333333"
backColor="FFFFFF">
...
<JSVR:EJText ... />
...
</JSVR:EJTextEnv>