Apache Struts - データの受け渡し(5) チェックボックス(html:checkbox)の利用

Advertisement

チェックボックス(html:checkbox)

Strutsでチェックボックスを利用する場合、htmlカスタムタグのhtml:checkboxを利用します。

TaglibHtmlCheckboxForm.java
import java.io.Serializable;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;

public class TaglibHtmlCheckboxBean
        extends ActionForm implements Serializable {

    private boolean check;

    public boolean isCheck() {
        return check;
    }

    public void setCheck(boolean check) {
        this.check = check;
    }

    public void reset(ActionMapping arg0, HttpServletRequest arg1){
        setCheck(false);
    }
}
チェックの有無を保持するActionFormを定義します。

初期化処理として、ActionFormのresetメソッドをオーバーライドして、自クラスのプロパティをfalseに設定する必要があります。

struts-config.xml
<?xml version="1.0" encoding="Shift_JIS" ?>
<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
          "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>

  <form-beans>
    <form-bean name="TaglibHtmlCheckboxForm"
	           type="TaglibHtmlCheckboxBean">
    </form-bean>
  </form-beans>

  <action-mappings>
    <action path="/TaglibHtmlCheckboxAction"
            type = "org.apache.struts.actions.ForwardAction"
            name = "TaglibHtmlCheckboxForm"
            forward = "/checkbox.jsp" />
    </action-mappings>

</struts-config>
ActionFormとActionを定義

checkbox.jsp
<%@ page contentType="text/html; charset=Shift_JIS" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<html:html>
<head>
<title>Taglib</title>
</head>
<body>

<html:form action="/TaglibHtmlCheckboxAction">
    <html:checkbox property="check" />
    <html:submit value="更新" />
</html:form>

</body>
</html:html>
html:checkboxはhtml:formの内側に定義する必要があります。

html:formで/TaglibHtmlCheckActionというアクションが指定されています。struts-config.xmlでは、このアクションに対してTaglibHtmlCheckboxBeanというActionFormが関連付けられているため、このActionFormが自動的に利用されます。そして内側のhtml:checkboxでproperty="check"と指定されているので、TaglibHtmlCheckboxBeanのcheckプロパティがチェックボックスの値保持のために利用されます。

Advertisement

ショートカット

634トップページ
このカテゴリのトップページに戻る
634ラボ

サイト検索

Google

Web サイト内

Y!ログール