public class ShellTag extends CommonTagSupport
●形式:<og:shell program="…" /> ●body:なし ●Tag定義: <og:shell program ○【TAG】シェルファイルを実行する時に引き渡すコマンド(必須)。 useBatch 【TAG】BATCHプロセスを実行するのかどうか[true/false]を指定します(初期値:false) wait 【TAG】プロセスの終了を待つかどうか[true/false]を指定します(初期値:true[待つ]) timeout 【TAG】プロセスの実行処理のタイムアウトを設定します (初期値:SHELL_TIMEOUT[=3600]) stdout 【TAG】実行結果を標準出力に出力するかどうか[true/false]を指定します(初期値:false) stderr 【TAG】実行結果をエラー出力に出力するかどうか[true/false]を指定します(初期値:false) info 【TAG】インフォメーション情報を出力するかどうか[true/false]を指定します(初期値:false) action 【TAG】アクション(RUN,SET,GET,REMOVE)をセットします(初期値:RUN) workDir 【TAG】作業ディレクトリを指定します(初期値:Java仮想マシンの作業ディレクトリ) envKeys 【TAG】環境変数のキーをCSV形式で指定します(初期値:現状のJava仮想マシンの環境) envVals 【TAG】環境変数の値をCSV形式で指定します(初期値:現状のJava仮想マシンの環境) display 【TAG】処理結果を画面に表示するかどうか[true/false]指定します(初期値:true) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) /> ●使用例 <og:shell program = "プログラム" dir /S や、abc.bat など action = "アクション" [RUN/SET/GET/REMOVE] useBatch = "バッチ使用" バッチ:true/false (初期値:false) wait = "終了待ち" 処理終了まで待つ:true/待たない:false (初期値:true) stdout = "標準出力使用" 標準出力使用:true/未使用:false (初期値:false) stderr = "エラー出力使用" エラー出力使用:true/未使用:false (初期値:false) info = "状態表示" シェルの状態表示:true/未使用:false (初期値:false) /> <og:value command="GET" key="SHELL.RTN_CODE" />
修飾子とタイプ | フィールドと説明 |
---|---|
static String |
ACT_GET
action 引数に渡す事の出来る コマンド 取得 "GET"
|
static String |
ACT_REMOVE
action 引数に渡す事の出来る コマンド 削除 "REMOVE"
|
static String |
ACT_RUN
action 引数に渡す事の出来る コマンド 実行 "RUN"
|
static String |
ACT_SET
action 引数に渡す事の出来る コマンド 登録 "SET"
|
bodyContent
id, pageContext
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
EVAL_BODY_AGAIN
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
コンストラクタと説明 |
---|
ShellTag() |
修飾子とタイプ | メソッドと説明 |
---|---|
int |
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
|
protected void |
release2()
タグリブオブジェクトをリリースします。
|
void |
setAction(String act)
【TAG】アクション(RUN,SET,GET,REMOVE)をセットします(初期値:RUN)。
|
void |
setDisplay(String flag)
【TAG】処理結果を画面に表示するかどうか[true/false]指定します(初期値:true)。
|
void |
setEnvKeys(String keys)
【TAG】環境変数のキーをCSV形式で指定します(初期値:現状のJava仮想マシンの環境)。
|
void |
setEnvVals(String vals)
【TAG】環境変数の値をCSV形式で指定します(初期値:現状のJava仮想マシンの環境)。
|
void |
setInfo(String flag)
【TAG】インフォメーション情報を出力するかどうか[true/false]を指定します(初期値:false)。
|
void |
setProgram(String val)
【TAG】シェルファイルを実行する時に引き渡すコマンド。
|
void |
setStderr(String flag)
【TAG】実行結果をエラー出力に出力するかどうか[true/false]を指定します(初期値:false)。
|
void |
setStdout(String flag)
【TAG】実行結果を標準出力に出力するかどうか[true/false]を指定します(初期値:false)。
|
void |
setTimeout(String tout)
【TAG】プロセスの実行処理のタイムアウトを設定します
(初期値:SHELL_TIMEOUT[=3600])。
|
void |
setUseBatch(String flag)
【TAG】BATCHプロセスを実行するのかどうか[true/false]を指定します(初期値:false)。
|
void |
setWait(String flag)
【TAG】プロセスの終了を待つかどうか[true/false]を指定します(初期値:true[待つ])。
|
void |
setWorkDir(String dir)
【TAG】作業ディレクトリを指定します(初期値:Java仮想マシンの作業ディレクトリ)。
|
String |
toString()
このオブジェクトの文字列表現を返します。
|
add, add, addEventColumn, addEventColumn, check, check, commitTableObject, debugPrint, doAfterBody, doCatch, doFinally, doStartTag, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLASTAttri, getLongLabel, getMsglbl, getNVLAttri, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getTagName, getUser, getUserEditInfo, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setCaseKey, setCaseNN, setCaseNull, setCaseVal, setContextAttribute, setCookie, setDebug, setLanguage, setLbl, setNoTransitionRequest, setObject, setObject, setParameterNames, setParameterRows, setRequestAttribute, setRequestCacheData, setScope, setSessionAttribute, setUserInfo, startQueryTransaction, sys, sysBool, sysInt, useMainTrans, useQuotCheck, useTag, useXssCheck
doInitBody, getBodyContent, getPreviousOut, release, setBodyContent
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getParent, setPageContext, setParent
public static final String ACT_REMOVE
public ShellTag()
public int doEndTag()
doEndTag
インタフェース内 Tag
doEndTag
クラス内 CommonTagSupport
3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。 |
3.1.9.0 (2003/05/16) Shell への stdout と stderr の取得設定は廃止。ShellTag では、有効。 |
3.3.3.0 (2003/07/09) デバッグ時の表示ロジックを追加。 |
protected void release2()
release2
クラス内 CommonTagSupport
2.0.0.4 (2002/09/27) カスタムタグの release() メソッドを、追加 |
3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。 |
3.1.9.0 (2003/05/16) action コマンド追加 |
3.3.3.0 (2003/07/09) action コマンドの動きを修正。 |
3.6.0.1 (2004/09/29) display 属性を追加 |
3.6.1.0 (2005/01/05) timeout 属性を追加 |
public void setProgram(String val)
val
- シェルコマンドシェルファイルを実行する時に引き渡すコマンド
public void setUseBatch(String flag)
flag
- BATCHプロセスを実行するのかどうか [true:BATCHプロセス/false:EXEファイル]BATCHファイルの実行と、EXEファイルの実行では、cmd.exe 経由するか どうか、判断が必要です。true(BATCHプロセス)では、cmd.exe 経由で実行、 false(EXEファイル)では、直接実行します。 初期値は、false(EXEファイル)です。
public void setStdout(String flag)
flag
- 実行結果の標準出力 [true:出力する/false:しない]実行結果の標準出力を出力するかどうか(初期値:false)
public void setStderr(String flag)
flag
- 実行結果のエラー出力 [true:出力する/false:しない]実行結果のエラー出力を出力するかどうか(初期値:false)
public void setWait(String flag)
flag
- プロセスの終了(true:待つ/false:待たない)プロセスの終了を待つ(true)/待たない(false) (初期値:true)
public void setTimeout(String tout)
tout
- タイムアウト時間(秒) ゼロは、無制限SystemData.SHELL_TIMEOUT
ゼロ(0) の場合は、割り込みが入るまで待ちつづけます。 その場合、確実に終了させる手段を用意しておかないと、いつまで待っても以下の処理が 実行されない(デッドロック)状態になってしまいます。 (初期値:システム定数のSHELL_TIMEOUT[={@og.value org.opengion.hayabusa.common.SystemData#SHELL_TIMEOUT}])。
3.6.1.0 (2005/01/05) 新規追加 |
public void setInfo(String flag)
flag
- インフォメーション情報 [true:出力する/false:しない]インフォメーション情報を出力するかどうか(初期値:false)
3.1.9.0 (2003/05/16) 新規追加 |
public void setDisplay(String flag)
flag
- 処理結果を画面に表示するかどうか [true:出力する/false:しない]処理結果が、異常でない場合のみ、この機能が有効になります。 各種処理を連続で行う場合、最後にエラーが発生したにもかかわらず、 先に正常終了している場合に、不要なメッセージを出すと、紛らわしい為です。
3.6.0.1 (2004/09/29) 新規追加 |
public void setAction(String act)
act
- アクション(初期値は、RUN です。)アクションは,HTMLから(get/post)指定されますので,ACT_xxx で設定される フィールド定数値のいづれかを、指定できます。 RUN Shellオブジェクトを生成/実行します。(セッションに登録しません。) SET Shellオブジェクトを生成/実行し、セッションに登録します。 GET セッションに登録されている Shellオブジェクトを呼び出します。 REMOVE セッションから、Shellオブジェクトを削除します。 Shellが実行中の場合は強制終了します。
3.1.9.0 (2003/05/16) 新規追加 |
3.5.6.2 (2004/07/05) 文字列の連結にStringBuilderを使用します。 |
public void setWorkDir(String dir)
dir
- 作業ディレクトリシェルを実行する、作業ディレクトリを指定します。 絶対パスで指定することも、相対パスで指定することも出来ます。 相対パスの場合は、ドキュメントベースの物理パスが基準になります。 (そのJSPファイル自身のディレクトリが基準ではありません。) 指定しない場合は、このJava仮想マシンの作業ディレクトリで実行されます。
3.3.3.0 (2003/07/09) 新規追加 |
public void setEnvKeys(String keys)
keys
- 環境変数のキーシェル実行時の環境変数のキーを、CSVV形式で指定します。 指定がない場合は、現状のJava仮想マシンの環境が引き継がれます。 envVals と対応していなければなりません。 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。
3.3.3.0 (2003/07/09) 新規追加 |
3.5.6.2 (2004/07/05) CommonTagSupport#getCSVParameter を使用 |
public void setEnvVals(String vals)
vals
- 環境変数のキーシェル実行時の環境変数の値を、CSVV形式で指定します。 指定がない場合は、現状のJava仮想マシンの環境が引き継がれます。 envKeys と対応していなければなりません。 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。
3.3.3.0 (2003/07/09) 新規追加 |
3.5.6.2 (2004/07/05) CommonTagSupport#getCSVParameter を使用 |
public String toString()
toString
クラス内 CommonTagSupport
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.