|
카테고리
전체
제갈장비-Linux 제갈장비-TOMCAT 제갈장비-JAVA -------------------- 문서-Linux 문서-Powerbuilder 문서-JAVA 문서-ASP 문서-하드웨어 문서-EDPS 문서-MSSQL -------------------- TIP-JAVA TIP-Perl TIP-ASP TIP-Powerbuilder 01 TIP-Javascript TIP-Excel TIP-XML TIP-MSAccess TIP-PostgreSql TIP-Windows TIP-Linux TIP-HTML TIP-TOMCAT -------------------- ETC Secret Util-Japan 미분류 최근 등록된 덧글
잘읽어 보았습니다. 그런..
by 이윤철 at 11/07 1000 666 by qhrlfeh77 at 05/21 123 by qhrlfeh77 at 05/21 by qhrlfeh77 at 05/21 감사합니다!! HashSet.. by 세레네이 at 04/06 찾고 있었던 자료인데 .. by 나그네 at 01/09 감사합니다. 잘 보았습.. by 졸면죽는다 at 10/28 좋은 정보 정말 감사합니.. by 강성훈 at 10/22 좋은글 퍼가겠습니다. by 정의진 at 09/29 이제야 봤습니다. iText.. by 제갈장비 at 08/09 이글루 파인더
|
2006년 09월 06일
정의 순서. 1.
1. 어플리케이션 폼빈 작성
import org.apache.struts.validator.*; import org.apache.struts.action.*;
//Validator를 사용하는 경우는ValidatorForm클래스를 계승합니다. //그 외는 일반적인 어플리케이션 폼빈의 작성방법과 같습니다. public final class ExValidatorForm extends ValidatorForm { private String requireV; private String validwhenV; private String countV; private String patternV; private String dateV; private String rangeV; private String emailV;
public void setRequireV(String requireV) {this.requireV = requireV;} public void setValidwhenV(String validwhenV) {this.validwhenV = validwhenV;} public void setCountV(String countV) {this.countV = countV;} public void setPatternV(String patternV) {this.patternV = patternV;} public void setDateV(String dateV) {this.dateV = dateV;} public void setRangeV(String rangeV) {this.rangeV = rangeV;} public void setEmailV(String emailV) {this.emailV = emailV;}
public String getRequireV() {return requireV;} public String getValidwhenV() {return validwhenV;} public String getCountV() {return countV;} public String getPatternV() {return patternV;} public String getDateV() {return dateV;} public String getRangeV() {return rangeV;} public String getEmailV() {return emailV;} }
2. validation.xml 작성
<!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation// DTD Commons Validator Rules Configuration 1.1.3//EN" "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
<form-validation> <formset> <!-- 적용할 어플리케이션 폼빈을 논리명으로 지정 --> <form name="ExValidator"> <!-- required 룰 지정 --> <field property="requireV" depends="required"> </field> <!-- validwhen룰 지정 validwhen의 조건식을 test변수로 지정 *this*는 프로퍼티 validwhenV를 나타냄 --> <field property="validwhenV" depends="validwhen"> <msg name="validwhen" key="errors.validwhen" /> <var> <var-name>test</var-name> <var-value> ((*this* != null) and (countV != null)) </var-value> </var> </field> <!-- minlength룰 지정 minlength변수로 조건의 최저입력수를 지정 --> <field property="countV" depends="minlength"> <var> <var-name>minlength</var-name> <var-value>4</var-value> </var> </field> <!-- mask룰 지정 mask변수로 조건패턴을 지정 --> <field property="patternV" depends="mask"> <var> <var-name>mask</var-name> <var-value>^[a-zA-Z]*$</var-value> </var> </field> <!-- date룰 지정 datePattern변수로 조건의 일자 패턴을 지정 --> <field property="dateV" depends="date"> <msg name="date" key="errors.date" /> <var> <var-name>datePattern</var-name> <var-value>yyyy/mm/dd</var-value> </var> </field> <!-- intRange 룰 지정 max변수, min변수로 조건의 범위를 지정 --> <field property="rangeV" depends="intRange"> <var> <var-name>min</var-name> <var-value>4</var-value> </var> <var> <var-name>max</var-name> <var-value>16</var-value> </var> </field> <!-- email 룰 지정 --> <field property="emailV" depends="email"> </field> </form> </formset> </form-validation>
3. 메세지 리소스 파일 작성 errors.validwhen=validwhenV is wrong.<br> errors.minlength=countV is wrong.<br> errors.invalid =patternV is wrong.<br> errors.date =dateV is wrong.<br> errors.range =rangeV is wrong.<br> errors.email =emailV is wrong.<br>
4. JSP 작성 <%@ taglib uri="/tags/struts-html" prefix="html" %> <%@ taglib uri="/tags/struts-bean" prefix="bean" %>
<html:html> <head><title>에러화면</title></head> <body>
에러 메세지 <br> 에러 메세지를 표시할 때는message속성을 false로 합니다. --%> <html:messages id="msg" message="false"> <%-- filter속성을 false로 함으로써 메세지에 HTML태그를 쓸 수 있습니다. True로 하면 HTML태그가 있는 경우 치환문자(<, > 등)으로 변환됩니다. --%> <bean:write name="msg" ignore="true" filter="false"/> </html:messages>
</body> </html:html>
【exValidator.jsp】Validator체크를 하는데 사용될 입력폼 화면 <%@ taglib uri="/tags/struts-html" prefix="html" %>
<html:html> <head><title>Validator처리</title></head> <body>
<html:form action="/ExValidator"> 필수입력 <br> <html:text property="requireV" size="16"/> <br><br> validwhen <br> <html:text property="validwhenV" size="16"/> <br><br> 문자수확인 <br> <html:text property="countV" size="16"/> <br><br> 패턴확인 <br> <html:text property="patternV" size="16"/> <br><br> 일자확인 <br> <html:text property="dateV" size="16"/> <br><br> 범위확인 <br> <html:text property="rangeV" size="16"/> <br><br> 메일 어드레스 확인 <br> <html:text property="emailV" size="16"/> <br><br> <html:submit property="submit" value="송신"/> </html:form>
</body> </html:html>
5. struts-config.xml 작성 <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
<!-- 액션폼빈 지정 --> <form-beans> <form-bean name="ExValidator" type="struts.ExValidatorForm" /> </form-beans>
<!-- 액션 클래스 지정 --> <action-mappings> <!-- Validator를 사용하는 경우validate속성을 true로 지정. Validator 에러를 표시할 화면을 input속성으로 지정 --> <action path="/ExValidator" type="struts.ExValidatorAction" name="ExValidator" scope="request" validate="true" input="/error.jsp"> <forward name="info" path="/exValidator2.jsp"/> </action> </action-mappings>
<!-- 메세지 리소스 파일 지정 --> <message-resources parameter="resources.application"/>
<!-- Validator 지정. 프로퍼티 pathnames의 값에 validator-rules.xml과 validation.xml을 지정 --> <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/> </plug-in>
</struts-config>
응용처리 <field property="emailV" depends="email,required"> </field> 직접 넣거나, <var>태그의 변수를 지정하는 경우에는 <argn>태그의 리소스 속성을 “false”로 해야 합니다. <field property="countV" depends="minlength"> <!-- 메세지에 "minlength.msg"을 지정 --> <arg0 key="minlength.msg" /> <!-- <var>태그를 이용하여 minlength를 지정 --> <arg1 key="${var:minlength}" resource="false" /> <var> <var-name>minlength</var-name> <var-value>4</var-value> </var> </field> ・・・・・ minlength.msg=minlength 키를 변경할 수가 있다. <field property="requireV" depends="required"> <!--에러시의 메세지 리소스 파일의 키를 "errors.original.required" 로 변경--> <msg name="required" key="errors.original.required" /> </field> ・・・・・ struts-config.xml의 태그의 타입속성에DynaValidatorForm을 지정하는 것만으로 사용할 수 있다. 다른 부분은 액션폼빈의Validator 사용방법과 동일하다. <form-beans> <!-- type속성에 DynaValidatorForm을 지정 --> <form-bean name="DynaForm" type="org.apache.struts.validator.DynaValidatorForm"> <form-property name="requireV" type="java.lang.String" /> </form-bean> </form-beans>
<action-mappings> <action path="/ExValidator" type="struts.ExValidatorAction" name="DynaForm" scope="request" validate="true" input="/error.jsp"> <forward name="info" path="/exValidator2.jsp"/> </action> </action-mappings> ・・・・・
| |||||