Strutsリファレンス(逆引き)

Strutsリファレンス
 
Web struts.wasureppoi.com
リンクのパラメータを動的に生成する<html:link>
スポンサード リンク

リンクのパラメータを生成するには、<html:link>タグの使用します。

JSP使用例

<%@ page pageEncoding = "Shift_JIS" %>
<%@ page contentType="text/html; charset=Shift_JIS" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<%@ taglib uri="/tags/struts-bean" prefix="bean" %>

<html><body>

<!-- actionリンク1 -->
<html:link action="/link_view"
       name="LinkForm"
       property="mapData">
  actionリンク1  </html:link>

<br><br>

<!-- actionリンク2 -->
<html:link action="/link_view"
       name="linkParam">
  actionリンク2  </html:link>

<br><br>

<!-- actionリンク3-->
<html:link action="/link_view"
       paramId="param99"
       paramName="LinkForm"
       paramProperty="singleParameter">
  actionリンク3  </html:link>

</body></html>

パラメータの生成方法は、上記例のように3種類あります。

actionリンク1 ・・・・ パラメータは複数あるの場合
  name属性 : LinkedHashMapが格納された、Bean名を指定する。
  property属性 : LinkedHashMapが格納された、プロパティ名を指定する。

actionリンク2 ・・・・ パラメータは複数あるの場合
  name属性 : LinkedHashMapが格納された、Bean名を指定する。

actionリンク3  ・・・・ パラメータは1つで固定の場合
  paramId : パラメータ名を固定で指定する。
  paramName属性 : パラメータ値が格納された、Bean名を指定する。
  property属性 : パラメータ値が格納された、プロパティ名を指定する。


HTMLソース&画面表

<html><body>

<a href="/Struts1.2/do/link_view?
param01=val01&amp;param03=val03&amp;param02=val02"> actionリンク1 </a>
<br><br>

<a href="/Struts1.2/do/link_view?
param01=val01&amp;param03=val03&amp;param02=val02"> actionリンク2 </a>
<br><br>

<a href="/Struts1.2/do/link_view?param99=val99"> actionリンク3 </a>

</body></html>


スポンサード リンク


アクションクラス

   public ActionForward execute(ActionMapping mapping,
                      ActionForm form,
                      HttpServletRequest request,
                      HttpServletResponse response) {

     // 入力フォームを取得
    DynaActionForm inform = (DynaActionForm)form;

    // リンクのパラメータを生成
    LinkedHashMap<String,String> map = new LinkedHashMap<String,String>();
    map.put("param01", "val01");
    map.put("param02", "val02");
    map.put("param03", "val03");

    // MAPデータをセッションンに直接格納(actionリンク2のリンクパラメータ)
    request.setAttribute("linkParam", map);

    // MAPデータをアクションフォームに格納(actionリンク1のリンクパラメータ)
    inform.set("mapData", map);

    // 単一パラメータをアクションフォームに格納(actionリンク3のリンクパラメータ)
    inform.set("singleParameter", "val99");

     return mapping.findForward("success");
  }


アクションフォーム

<form-bean
  name="LinkForm"
  type="org.apache.struts.validator.DynaValidatorForm" >
   <form-property
     name="mapData"
     type="java.util.LinkedHashMap" />
   <form-property
     name="singleParameter"
     type="java.lang.String" />
</form-bean>



スポンサード リンク


サブミットボタンを表示する<html:submit>
リセットボタンを表示する<html:reset>
キャンセルボタンを表示する<html:cancel>
ボタンを表示する<html:button>
画像付きのsubmitボタンを表示する<html:image>
リンクを表示する<html:link>
リンクのパラメータを動的に生成する<html:link>
リンクのURLの書き換える<htm:lrewrite>
画像を表示する<html:img>
フレームを表示する<html:frame>
ファイルをアップロードする<html:file>

カスタムタグへ
忘れっぽいエンジニアのJakarta Strutsリファレンス TOPへ