PGBox
P
G
Box

html rewriteタグ

htmlタグのメニューへ戻る



使用した環境
JDK 6 Update 11
struts 1.3.10

アクション名やフォワード名からURLを作成し、出力を行います。


属性必須意味
pagewebアプリケーション名以降のパスからURLを作成する場合に指定。
href<ahref="xxx">と同様のパス形式でURLを作成する場合に指定。
actionアクションパスからURLを作成する場合に指定。
forwardstruts-configの<global-forwards><forward>で定義されたフォワード名からURLを作成する場合に指定。
paramIdURLに単一のリクエストパラメータを追加する場合に指定。パラメータ名を指定する。
paramNameURLに単一のリクエストパラメータを追加する場合に指定。パラメータ値を取得するbean名を指定する。
paramPropertyURLに単一のリクエストパラメータを追加する場合に指定。パラメータ値をbeanから取得するプロパティ名を指定する。
paramScopeURLに単一のリクエストパラメータを追加する場合に指定。パラメータ値を保持するbeanを取得するスコープを指定する。page・request・session・applicationのいずれかを指定。省略時は自動的にbeanが存在するスコープが検索される。
nameURLに複数のリクエストパラメータを追加する場合に指定。パラメータ値のMapを取得するbean名を指定する。
propertyURLに複数のリクエストパラメータを追加する場合に指定。パラメータ値のMapをbeanから取得するプロパティ名を指定する。
scopeURLに複数のリクエストパラメータを追加する場合に指定。パラメータ値のMapを保持するbeanを取得するスコープを指定する。page・request・session・applicationのいずれかを指定。省略時は自動的にbeanが存在するスコープが検索される。
anchorURLにページ内アンカーを追加する場合に指定。URLの末尾に#xxxが追加される。
transaction2度押し防止のためのトランザクショントークンを、セッションから取得しURLパラメータに追加する場合にtrueを指定する。デフォルトはfalse。
module使用するモジュール名のプレフィックスを指定する。
useLocalEncodingURLのエンコーディングを行う際に、pageContext.getResponse().getCharacterEncoding()で得られるエンコード名を使用する場合にtrueを指定する。デフォルトの文字コードはUTF-8。



html:rewriteタグで指定可能なURLの形式は以下の4種類になります。
<!-- (1) --><html:rewrite page="/pages/aaa.jsp" />

<!-- (2) --><html:rewrite href="http://xxxx" />

<!-- (3) --><html:rewrite action="/sample" />

<!-- (4) --><html:rewrite forward="sampleForward" />

上記のJSPを実行すると、以下のようなhtmlが出力されます。このサンプルでのアプリケーション名は「struts-sample」です。
<!-- (1) -->/struts-sample/pages/aaa.jsp

<!-- (2) -->http://xxxx

<!-- (3) -->/struts-sample/sample.do

<!-- (4) -->/struts-sample/WEB-INF/view/aaa.jsp


(1) アプリケーション名以降のURLで指定しています。

(2) href直接でURLを指定しています。<a href="xxx">と指定した場合とかわりません。

(3) アクションパスを指定しています。struts-configでは以下のように定義されています。
<action-mappings>
    <action path="/sample" name="SampleForm" type="pgbox.action.SampleAction" validate="false" scope="request">
リンクを押下した場合、pgbox.action.SampleActionの処理が呼び出される事となります。

(4) グローバルフォワードを指定しています。struts-configでは以下のように定義されています。
<global-forwards>
    <forward name="sampleForward" path="/WEB-INF/view/aaa.jsp"/>


<html:link>タグと全く同様の方法で、URLにリクエストパラメータを追加する事も可能です。
<html:param>タグタグをネストしてパラメータを構築する事も可能です。


<html:rewrite>タグは主に以下のように、ボタンごとに遷移先を変更したい場合などに、
JavaScriptで遷移先URLを書き換える際に使用できます。
<script type="text/javascript">
    
    function doRewiteAction() {
        
        document.forms[0].action = "<html:rewrite action="/sampleAction2" />";
        document.forms[0].submit();
    }
    
</script>

<html:form action="/sampleAction1">
    
    <html:submit value="ボタン1" />
    
    <input type="button" value="ボタン2" onclick="doRewiteAction()" />
    
</html:form>

上記例では、ボタン1を押下した際には"/sampleAction1"に遷移し、ボタン2を押下した際にはJavaScriptでフォームのアクションが書き換えられ、"/sampleAction2"へ遷移します。




htmlタグのメニューへ戻る