Comments
Description
Transcript
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