Unify NXJ

ア プ リ ケーシ ョ ンの
起動パラ メ ー タ の使い方
ア プ リ ケーシ ョ ンが開始する前に、 NXJ ア プ リ ケーシ ョ ン に渡 さ れる ユーザ ID や
検索条件の初期値等のパ ラ メ ー タ を指定す る こ と が可能です。
こ れ ら のパ ラ メ ー タ は、 ア プ リ ケーシ ョ ンの開始で使用す る URL 上の GET、
POST パ ラ メ ー タ を使用 し た り 、 NXJ ア プ リ ケーシ ョ ンのセ ッ シ ョ ン オ ブ ジ ェ ク ト
の中に java.util.Properties オ ブ ジ ェ ク ト を挿入 し て指定す る こ と がで き ます。
警告 – パスワー ド な し で、 ユーザを識別する ために、 こ の メ カ ニズム を
使用 し ないで く だ さ い。
GET または POST パラ メ ー タ の指定
POST パ ラ メ ー タ は、 フ ォ ームに フ ォ ームエ レ メ ン ト を追加 し 、 ア プ リ ケーシ ョ ン
の開始に使用する URL に フ ォ ームを渡 し て指定 さ れます。 URL
’http://machine/servlet/form’ がエ ン ト リ ポ イ ン ト フ ォ ームであ る場合、 以下の
HTML は NXJ ア プ リ ケーシ ョ ン に 2 つのオ ブ ジ ェ ク ト を渡 し ます。
<FORM method=post action="http://machine/servlet/form">
<INPUT TYPE=TEXT NAME=’PARAMETER1’ VALUE=’VALUE1’>
<INPUT TYPE=HIDDEN NAME=’PARAMETER2’ VALUE=’VALUE2’>
<INPUT TYPE=’SUBMIT’ NAME=’BUTTON’ VALUE=’GO’>
</FORM>
’GO’ ボ タ ン を押下する と 値が渡 さ れます。
上記の コ ー ド の ’method=post’ エ ン ト リ が ’method=get’ に変わる と き、同 じ パ ラ メ ー
タ が渡 さ れます。 ま た、 ブ ラ ウザで以下の URL の入力に よ り 、 URL の一部 と し て
パ ラ メ ー タ を指定する こ と がで き ます。
http://machine/servlet/form?PARAMETER1=VALUE1&PARAMETER2=VALUE2
1
java.util.Properties オブ ジ ェ ク ト の挿入
NXJ ア プ リ ケーシ ョ ン を開始す る と き、 NXJ シ ス テムサーブ レ ッ ト は、
“unify.nxj.startupProperties” を キーに し て HTTP セ ッ シ ョ ンの属性を検索 し ます。
こ の属性が、 java.util.Properties の イ ン ス タ ン ス であ る非 null 値のオ ブ ジ ェ ク ト を
持つ場合、 プ ロパテ ィ テーブルは起動時に NXJ EJB に渡 さ れます。
以下の コ ー ド を使用する と 、 ア プ リ ケーシ ョ ンパ ッ ケージの一部であ る JSP
フ ォ ームに含む こ と がで き、 フ ォ ームへのエ ン ト リ ポ イ ン ト であ る URL よ り 先に
ア ク セ スす る こ と がで き ます。
<%
java.util.Properties p = new java.util.Properties();
p.setProperty( "PARAMETER1", "VALUE1");
p.setProperty( "PARAMETER2", "VALUE2");
request.getSession().setAttribute(
com.unify.NXJ.awebServlet.Runtime.STARTUP_PROPERTIES, p );
%>
com.unify.nxj.awebServlet.Runtime ク ラ スは、 文字列 ’unify.nxj.startupProperties’ の
代わ り に使用する STARTUP_PROPERTIES と い う public static final String のオ ブ
ジ ェ ク ト を含んでい る こ と に注意 し て く だ さ い。
こ れ ら の メ ソ ッ ド が組み合わ さ れる と き、 GET と POST パ ラ メ ー タ はセ ッ シ ョ ン
変数で指定するパ ラ メ ー タ を オーバ ラ イ ド す る点に注意 し て く だ さ い。
NXJ プ ログ ラ ミ ング言語からパラ メ ー タ にア ク セスする
起動プ ロパテ ィ は、 NXJSession の “startupProperties” プ ロパテ ィ と し て、 ソ ース
で ア ク セ ス可能です。 こ のプ ロパテ ィ は、 コ ー ド が実行 さ れる前に初期化 さ れる
ので、 プ ロパテ ィ を、 BEFORE APPLICATION イ ベ ン ト セ ク シ ョ ンや、 ア プ リ
ケーシ ョ ンのどんな箇所で も コ ー ド で使用す る こ と がで き ます。 NXJSession の
startupProperties オ ブ ジ ェ ク ト が安定 し てい る点に注意 し て く だ さ い。 HTTP セ ッ
シ ョ ンのプ ロパテ ィ オ ブ ジ ェ ク ト への更な る変更は、 既に実行 し てい る NXJ ア プ
リ ケーシ ョ ンの startupProperties へは反映 さ れません。
存在する すべてのプ ロパテ ィ を調べる には、 以下の コ ー ド を使用 し て く だ さ い。
特定のプ ロパテ ィ にのみア ク セ ス し たい場合は、 直接ア ク セ スす る こ と がで き ま
す。
if ( session.startupProperties != null )
ア プ リ ケーシ ョ ンの起動パ ラ メ ー タ の使い方
2
{
for ( java.util.Enumeration en =
session.startupProperties.propertyNames;
en.hasMoreElements(); )
{
String key = (String)en.nextElement();
String value = p.getProperty(key);
// Use the values as desired...
}
}
ア プ リ ケーシ ョ ンの起動パ ラ メ ー タ の使い方
3