<파일 업로드>

​- CommonsFileUpload 준비

- Spring MVC 3.1 + Servlet 3.0 멀티파트 기능 준비

- 단순한 파일 업로드

- 멀티 파일 업로드

- 파일 사이즈 초과시 처리방법


 

 

 

 

 

 



<수치형 바인드 처리>

​<JSP 작성>

<h4>수치형 바인드 처리</h4>
<form:form modelAttribute="command" action="${appUrl}/test/customizeNumberBind.html" method="post">
   
    <p>
        <form:label path="amount">합계</form:label>
        <form:input path="amount" />
        <form:errors path="amount" cssClass="errors" />
    </p>
   
    <p>
        <form:label path="average">평균</form:label>
        <form:input path="average" />
        <form:errors path="average" cssClass="errors" />
    </p>
   
    <input type="submit"/>
</form:form>
 

 

 

 

 

 



<수치형 바인드 처리> 


<controller 작성>


import org.springframework.beans.propertyeditors.CustomNumberEditor;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
 
@Controller
@RequestMapping("/test/customizeNumberBind")
public class CustomizeNumberBindController {    
    @InitBinder
    protected void initBinder(WebDataBinder binder) {
       
        // 이름을 지정하여 바인드 처리
        NumberFormat amountFormat = NumberFormat.getInstance();
        binder.registerCustomEditor(Long.class, "amount",
                new CustomNumberEditor(Long.class, amountFormat, true));
       
        // 타입을 지정하여 바인드 처리
        DecimalFormat doubleFormat = new DecimalFormat("###,###.###");
        binder.registerCustomEditor(Double.class,
                new CustomNumberEditor(Double.class, doubleFormat, true));
                 //DecimalFormat도 사용가능하다
              }
   
    // @RequestMapping 등 생략


 

 

 

 

 



<수치형 바인드 처리>

​<command 클래스 작성>


public class CustomizeNumberBindCommand implements Serializable {
   
    /** serialVersionUID */
    private static final long serialVersionUID = 1L;
 
    private Long amount;
   
    private Double average;
   
    public CustomizeNumberBindCommand() {
       
    }
   
    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
   
    // setter, getter 생략
   
}


 

 

 

 

 

 

 



『 날짜형 바인드 』

<컨트롤러 작성>

 @Controller
@RequestMapping(value="/test/customizeDateBind")

public class CustomizeDateBindController {    
    @InitBinder
    protected void initBinder(WebDataBinder binder) {
        //데이터 바인드를 체크하기 위해 SimpleDateFormat를 생성
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
        dateFormat.setLenient(false);
 
        // 형을 지정한 바이드 설정
        binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
        // 프러퍼티를 지정한 바인드 설정
        binder.registerCustomEditor(Date.class, "endDate", new CustomDateEditor(dateFormat, true, 10));
    }
     // 더이터 바인드시 에러 처리위해(반드시 필요!)
    @ModelAttribute("command")
    public CustomizeDateBindCommand createInitCommand() {
        CustomizeBindCommand command = new CustomizeDateBindCommand();
        return command;
    }

 

 

 

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

Spring 3.2 & MyBatis] 날짜형 바인드 (JSP 작성)  (0) 2015.12.22
Spring 3.2 & MyBatis] 날짜형 바인드 (컨트롤러 작성(2))  (0) 2015.12.22
Simple Application  (0) 2015.12.22
CSV ??  (0) 2015.12.22
innerHTML이란?  (0) 2015.12.22

 



『 날짜형 바인드 』

​- 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=필수입니다.


 

 

 

 

 

+ Recent posts