package validation;

import java.io.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;

import javax.servlet.*;
import javax.servlet.http.*;

public class ValidationServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        PrintWriter out = response.getWriter();

        boolean passed = validateDate(request.getParameter("birthDate"));
        response.setContentType("text/xml");
        response.setHeader("Cache-Control", "no-cache");
        String message = "You have entered an invalid date.";


if (passed) {         message = "You have entered a valid date.“;        }
        out.println("<response>");
        out.println("<passed>" + Boolean.toString(passed) + "</passed>");
        out.println("<message>" + message + "</message>");
        out.println("</response>");
        out.close();
     }

    private boolean validateDate(String date) {
        boolean isValid = true;
        if(date != null) {
            SimpleDateFormat formatter= new SimpleDateFormat("MM/dd/yyyy");
            try {
                formatter.parse(date);
            } catch (ParseException pe) {
                System.out.println(pe.toString());
                isValid = false;
            }
        } else {            isValid = false;        }
        return isValid;
    }
}

 

 

 

'자바 > JAVA...Spring' 카테고리의 다른 글

DynamicUpdateServlet.java  (0) 2015.12.29
dynamicUpdate.html  (0) 2015.12.29
[/Web-INF/web.xml]  (0) 2015.12.28
[form_test.html]  (0) 2015.12.28
[ajax_test.html]  (0) 2015.12.24

 

 

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
    <servlet>
        <servlet-name>ValidationServlet</servlet-name>
        <servlet-class>validation.ValidationServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>ValidationServlet</servlet-name>
        <url-pattern>/validation</url-pattern>
    </servlet-mapping>
</web-app>


 

 

 

 

'자바 > JAVA...Spring' 카테고리의 다른 글

dynamicUpdate.html  (0) 2015.12.29
[/Web-INF/src/validation/ ValidationServlet .java]  (0) 2015.12.28
[form_test.html]  (0) 2015.12.28
[ajax_test.html]  (0) 2015.12.24
[oraclejava.xml]  (0) 2015.12.24

 



『 날짜형 바인드 』

​- Command 클래스 작성

- 컨트롤러 작성

- JSP 작성

- 에러 메시지 정의

​▷ Command 클래스 작성

 

import java.io.Serializable;
import java.util.Date;
 
import org.apache.commons.lang.builder.ToStringBuilder;
 
public class CustomizeDateBindCommand implements Serializable {
 
    private static final long serialVersionUID = 1L;
   
    private Date startDate;
   
    private Date endDate;
   
    public CustomizeBindCommand() {
    }
   
    // getter、setter 생략
   
    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}


 

 

 


 

.



『 독자 데이터타입 바인드(@InitBinder 』

​▷ 날짜형 바인드 (CustomDateEditor)


▷ 수치형 바인드 (CustomNumberEditor)


 

 

 

 

 

 



『 에러 메시지 정의 』

## 형식이 맞지 않는 메시지


typeMismatch=입력 형식이 맞지 않습니다.
typeMismatch.int=정수만 입력해 주십시오.
typeMismatch.java.lang.Integer=정수만 입력해 주십시오.
 
## 입력값 에러 메시지


# (1)JSP로부터 직접 출력 메시지
error.input=입력내용을 확인해 주십시오
 
# (2)공통 에러용, 단일항목 에러 출력용
error.message=공통 에러 메시지
 
# (3)단일항목 에러출력용
error.required=필수입니다.


 

 

 

 

 

 


『 JSP 샘플 작성 』

​<소스코드>

<form:form modelAttribute="sampleCommand" action="${appUrl}/test/form2.html" method="post">

    <p>         <form:label path="name">이름</form:label>
        <form:input path="name" />
        <form:errors path="name" cssClass="errors" />
    </p>
    <p>
        <form:label path="mail">메일 주소</form:label>

        <form:input path="mail" />        
        <form:errors path="mail" cssClass="errors" />
    </p>
    <p>
        <form:label path="age">나이</form:label>
        <form:input path="age" />
        <form:errors path="age" cssClass="errors" />
    </p>
    <p>
        <form:label path="confirmed">확인</form:label>
        <form:checkbox path="confirmed" />
        <form:errors path="confirmed" cssClass="errors" />
    </p>
    <input type="submit"/>
</form:form>


 

 

 


 

 



『 JSP 샘플 작성 』

​<소스코드>

​<%-- Spring커스텀 태그 정의 --%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>  
<spring:hasBindErrors name="sampleCommand">
<div>
    <font color="red"><spring:message code="error.input" /></font>
    <%-- 공통 에러메시지 표시 --%>
    <font color="red"><c:forEach items="${errors.globalErrors}" var="error">
        <spring:message message="${error}" /><br/>     </c:forEach></font>
</div>
</spring:hasBindErrors>


 

 

 

 

'자바 > JAVA...Spring' 카테고리의 다른 글

Spring 3.2 & MyBatis] 에러 메시지 정의  (0) 2015.12.18
Spring 3.2 & MyBatis] JSP 샘플 작성(2)  (0) 2015.12.18
Cross-Browsing  (0) 2015.12.18
XMLHttpRequest 객체 생성  (0) 2015.12.18
XMLHttpRequest의 개요  (0) 2015.12.18

 

 


전이되는 곳을 생략하는 경우

(View의 패스가 없음) 

​<소스코드>

​@Controller
public class AppointmentsController
   
    @RequestMapping("/sample")
    public ModelAndView doAction() {
   
        ModelAndView mav = new ModelAndView();
        model.addObject("message1", "aaaa");
        return mav;
    }
}

 

 

+ Recent posts