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ラボ サイト検索Y!ログール |