| 目次 |
|---|
|
・ValidatorFormを使う ・ValidatorFormを実装する ・アクションと遷移先JSPを実装する ・MessageResources |
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
"http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
<form-beans>
<form-bean name="test_form" type="jp.co.confrage.form.ValidatorLoginForm">
<form-property name="id" type="java.lang.String" initial="id" />
<form-property name="password" type="java.lang.String" initial="pass" />
</form-bean>
</form-beans>
<action-mappings>
<action path="/sample_form"
type="jp.co.confrage.action.TestValidatorLoginAction"
name="test_form"
scope="request"
input="/WEB-INF/pages/error.jsp">
<forward name="success" path="/WEB-INF/pages/login.jsp" />
</action>
</action-mappings>
<message-resources parameter="MessageResources"/>
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames"
value="/org/apache/struts/validator/validator-rules.xml, /WEB-INF/validation.xml" />
</plug-in>
</struts-config>
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_0.dtd">
<form-validation>
<formset>
<form name="test_form">
<field property="password" depends="required">
<msg name="required" key="msg.length" />
</field>
</form>
</formset>
</form-validation>
<%@ page contentType="text/html; charset=Windows-31J" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<html:html>
<head>
<title>サンプルログイン</title>
<meta http-equiv="Content-Type"
content="text/html; charset=Windows-31J">
</head>
<body>
<html:form action="/sample_form">
Login画面<br /><br />
<html:text property="id" size="10" maxlength="8" />
<html:text property="password" size="10" maxlength="8" />
<html:submit property="submit" value="実行"/>
</html:form>
</body>
</html:html>
package jp.co.confrage.form;
import org.apache.struts.validator.ValidatorForm;
public class ValidatorLoginForm extends ValidatorForm{
private String id = null;
private String password = null;
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setPassword(String password) {
this.password = password;
}
public String getPassword() {
return password;
}
}
package jp.co.confrage.action;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jp.co.confrage.form.ValidatorLoginForm;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class TestValidatorLoginAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm _form,
HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
ValidatorLoginForm form = (ValidatorLoginForm)_form;
String id = form.getId();
String pass = form.getPassword();
return mapping.findForward("success");
}
}
<%@ page contentType="text/html; charset=Windows-31J" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<html:html>
<head>
<title>ポータルサイト</title>
<meta http-equiv="Content-Type"
content="text/html; charset=Windows-31J">
</head>
<body>
<bean:write name="test_form" property="id" />
<bean:write name="test_form" property="password" />
</body>
</html:html>
<%@ page contentType="text/html; charset=Windows-31J" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<html:html>
<head>
<title>入力エラー</title>
<meta http-equiv="Content-Type"
content="text/html; charset=Windows-31J">
</head>
<body>
<html:errors property="password" />
</body>
</html:html>
msg.title=Login msg.length=length error