リファレンストップへ Java | html rewriteタグ使用した環境 JDK 6 Update 11 struts 1.3.10 アクション名やフォワード名からURLを作成し、出力を行います。
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> リンクを押下した場合、pgbox.action.SampleActionの処理が呼び出される事となります。<action path="/sample" name="SampleForm" type="pgbox.action.SampleAction" validate="false" scope="request"> (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"へ遷移します。 |
|