『 날짜형 바인드 』

​- 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

 

 

 

-일반적으로 많이 사용되는 브라우저는 IE이다. 그러나 IE 브라우저를 많이 사용하는 것이지 브라우저가 IE만 있는 것은 아니다. 

-Firefox, Netscape, Safari, Opera, Konqueror

-브라우저마다 XMLHttpRequest 객체의 명칭이 다르다.

-각기 다른 객체를 통합하여 하나로 만들어야 사용자가 어떤 브라우저를 사용하더라도 이를 대응할 수 있다.

-이렇게 브라우저에 상관없이 동작하는 것을 크로스 브라우징(Cross-Browsing)이라고 한다.




 

<<Cross-Browsing 예>>



founction createXMLHttpRequest(){
    var reqHttp;
if (window.ActiveXObject) {
    try {    reqHttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
        try {
         reqHttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch(e1) {
         reqHttp = null;
     }
    }
} else if (window.XMLHttpRequest) {
    try{
        reqHttp = new XMLHttpRequest()
    } catch(e1) {
        reqHttp = null
    }
} else {
    reqHttp = null;
}
}



<Internet Explorer ActiveXObject>

-IE는 ActiveXObject를 사용해서 서버와 통신하며 2가지 객체가 있다

-Msxml2.XMLHTTP

-Microsoft.XMLHTTP

-Msxml2.XMLHTTP는 IE 5.0 이후의 버전이고 Microsoft.XMLHTTP는 IE 5.0이전 버전이다.

-가능한 두 종류를 보장해서 XMLHttpRequest를 정의할 필요가 있다. 왜냐하면 “Microsoft.XMLHTTP”를 사용하지 않는 다는 보장을 할 수 없기 때문이다.


 

 

 

<ActiveXObject 객체 생성 예>

​if (window.ActiveXObject) { //IE
    try {
        return new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
        try {
     return new ActiveXObject("Microsoft.XMLHTTP");
        } catch(e) {
     return null;
 }
    }
}




<XMLHttpRequest 객체 생성 예>


if (window.XMLHttpRequest) { //IE 이외(FireFox, Opera등)
    try {
        return new XMLHttpRequest()
    } catch(e) {
        return null;
    }
} 

 

-MS(마이크로 소프트)는 Internet Explorer(IE)가 자바스크립트로부터 XML을 불러올 수 있도록 XMLHttpRequest를 설계.

-XMLHttpRequest객체는 현재 대부분의 브라우저에 내장되어 있는 객체이다.

-W3C 의 표준이 아니므로, IE에서는 ActiveX Component 형식으로 구현되었고, 다른 브라우저들(FireFox, Safari, Opera)은 native javascript 객체로 구현.

-XMLHttpRequest는 실제로 자바스크립트에 대한 일반적인 HTTP 클라이언트 이기 때문에 GET과 POST HTTP 요청을 서버에 할 수 있다.

*클라이언트와 서버간의 통신을 담당하는 객체.


-XMLHttpRequest는 간단한 API와 몇 가지 메서드와 속성들을 제공한다. 그러나 브라우저간의 차이점이 존재하기 때문에 “Cross-Brower”(브라우저의 종류에 관계없이 동작) 부분을 생각할 필요가 있다.

-내용의 변경 없이 새로운 컨텐츠를 불러올 수 있다.

-JavaScript로 동기 방식의 호출을 할 수 있다.

 

 

 

+ Recent posts