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

Strutsリファレンス
 
Web struts.wasureppoi.com
キャンセルボタンを表示する<html:cancel>
スポンサード リンク

キャンセルボタンを表示するには、<html:cancel>タグを使用します。
キャンセルボタン押下すると、アクション実行時に、validatorは実行されません。
アクションクラス内には、キャンセルボタン押下処理を実装できます。

<html:cancel>タグの主要属性
属性 概要
property 指定すると、キャンセルボタンの特性が無効になるので指定はしません。
value ボタンに表示する文字列を指定します

JSP使用例

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

<html><body>

<html:errors/>

<html:form action="cancel_view" >

<html:text property="stringData" size="15" maxlength="15" />

<html:submit property="submit" value="送信" />
<html:cancel value="キャンセル" />

</html:form>

</body></html>


HTMLソース&画面イメージ

<html> <body>

<form name="CancelForm" method="post"
   action="/Struts1.2/do/cancel_view">

<input type="text" name="stringData" maxlength="15" size="15" value="">

<input type="submit" name="submit" value="送信">
<input type="submit" name="org.apache.struts.taglib.html.CANCEL"
                  value="キャンセル" onclick="bCancel=true;">

</form>

</body></html>



スポンサード リンク


アクションクラスのキャンセルボタン押下処理

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

    if ( this.isCancelled(request) ) {
      // キャンセルボタン押下時の処理
      System.out.println("キャンセルボタンが押されました!!");
    } else {
      System.out.println("送信ボタンが押されました!!");
    }

    return mapping.findForward("success");
  }

isCancelledメソッドを使用すると、キャンセルボタン押下時の処理を実装できます。


アクションマッピング
Struts1.2.9から、セキュリティホールの対策として、<set-property>タグの指定が追加されました。
1.2.8以前は、このセキュリティホールの為に、SQLインジェクションの危険性があるので、全てのアクションクラスで対策をする必要があります。

<action-mappings>

  <action path="/cancel_view"
       type="sample.html.CancelAction"
       name="CancelForm"
       validate="true"
       scope="session"
       input="/jsp/html/cancel.jsp">
       <set-property property="cancellable" value="true"/>
       <forward
         name="success"
         path="/jsp/html/cancel_view.jsp" />
   </action>

</action-mappings>

キャンセルボタン使用時は、<set-property>タグで上記例のように指定する。
指定してない場合は、Strutsから例外がthrowされてエラーとなります。


スポンサード リンク


サブミットボタンを表示する<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へ