リファレンストップへ Java | html linkタグ使用した環境 JDK 6 Update 11 struts 1.3.10 リンク<a></a>を出力します。
html:linkタグで指定可能な遷移先の形式は以下の4種類になります。 <!-- (1) --><html:link page="/pages/aaa.jsp">アプリケーション名以降のURLリンク</html:link> <!-- (2) --><html:link href="http://xxxx">href直接指定のリンク</html:link> <!-- (3) --><html:link action="/sample">アクションへ遷移するリンク</html:link> <!-- (4) --><html:link forward="sampleForward">グローバルフォワードへ遷移するリンク</html:link> 上記のJSPを実行すると、以下のようなhtmlが出力されます。このサンプルでのアプリケーション名は「struts-sample」です。 <!-- (1) --><a href="/struts-sample/pages/aaa.jsp">アプリケーション名以降のURLリンク</a> <!-- (2) --><a href="http://xxxx">href直接指定のリンク</a> <!-- (3) --><a href="/struts-sample/sample.do">アクションへ遷移するリンク</a> <!-- (4) --><a href="/struts-sample/WEB-INF/view/aaa.jsp">グローバルフォワードへ遷移するリンク</a> (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"/> URLにリクエストパラメータを追加する事も可能です。 方法は3種類あります。 【方法1】単一値のパラメータをURLに追加する。フォームに、以下のようなプロパティが定義されており public class SampleForm extends ActionForm { private String str1; ※ 以下、setter, getter } アクションでは以下のように処理したとします。 public ActionForward execute(ActionMapping mapping, ActionForm form0, ... SampleForm form = (SampleForm) form0; form.setStr1("ABC"); プロパティstr1の値を、「param」という名前でアクション「/sample」のリクエストパラメータとして使用するには、JSPで以下のように記述します。 <html:link action="/sample" paramId="param" paramName="SampleForm" paramProperty="str1">リンク</html:link> 以下のようなhtmlが出力されます。リンクを押下した場合、アクション「/sample」では「param」という名前で値「ABC」が取得可能です。 <a href="/struts-sample/sample.do?param=ABC">リンク</a> 【方法2】Mapを使用して複数のパラメータをURLに追加する。フォームには、java.util.Mapでパラメータ用のプロパティを定義しておきます。 public class SampleForm extends ActionForm { private Map<String, String> params; ※ 以下、setter, getter } アクションでは任意のパラメータ名で、Mapに値をセットしておきます。 public ActionForward execute(ActionMapping mapping, ActionForm form0, ... SampleForm form = (SampleForm) form0; Map<String, String> params = new HashMap<String, String>(); params.put("param1", "AAA"); params.put("param2", "BBB"); params.put("param3", "CCC"); form.setParams(params); フォームの値をリンクのパラメータで使用するには、JSPで以下のように記述します。 <html:link action="/sample" name="SampleForm" property="params">リンク</html:link> 以下のようなhtmlが出力されます。リンクを押下した場合、アクション「/sample」では「param1」「param2」「param3」のパラメータがそれぞれ取得可能です。 <a href="/struts-sample/sample.do?param1=AAA&param2=BBB&param3=CCC">リンク</a> 【方法3】paramタグを使用してURLにパラメータを追加する。<html:param>タグを使用すると、柔軟で対応力の高いパラメータ追加を行う事ができます。 フォームに、以下のようなプロパティが定義されており public class SampleForm extends ActionForm { private String param1; private String param2; private String param3; ※ 以下、setter, getter } アクションでは以下のように処理したとします。 public ActionForward execute(ActionMapping mapping, ActionForm form0, ... SampleForm form = (SampleForm) form0; form.setParam1("AAA"); form.setParam2("BBB"); form.setParam3("CCC"); フォームの値をリンクのパラメータで使用するには、JSPで以下のように記述します。 <html:link action="/sample"> リンク <html:param name="param1"><bean:write name="SampleForm" property="param1" /></html:param> <html:param name="param2"><bean:write name="SampleForm" property="param2" /></html:param> <html:param name="param3"><bean:write name="SampleForm" property="param3" /></html:param> </html:link> 以下のようなhtmlが出力されます。 <a href="/struts-sample/sample.do?param1=AAA&param2=BBB&param3=CCC">リンク</a> |
|