[Spring] ValidationClass파일 만들어서 Validation 처리하기

web-servlet.xml


<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:mvc="http://www.springframework.org/schema/mvc"

xmlns:p="http://www.springframework.org/schema/p"

xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">

<context:component-scan base-package="domain.controller,domain.service.impl"/>

<mvc:annotation-driven/>

<!-- 단순 링크 등록 -->

<!-- 메인페이지 -->

<mvc:view-controller view-name="index" path="/index.do"/>

<!-- 제품등록 페이지 -->

<mvc:view-controller view-name="product/register_form" path="/product/register_form.do"/>

<!-- message Source 등록 -->

<bean name="messageSource"

          class="org.springframework.context.support.ResourceBundleMessageSource"

          p:defaultEncoding="UTF-8"

          p:basename="domain.validator.message.error_message"/>

<!-- ViewResolver 등록 -->

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"

  p:prefix="/WEB-INF/view/" p:suffix=".jsp"/>

</beans>



ProductController.java


package domain.controller;


import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.validation.BindingResult;

import org.springframework.web.bind.annotation.ModelAttribute;

import org.springframework.web.bind.annotation.RequestMapping;


import domain.service.ProductService;

import domain.validator.ProductRegisterValidator;

import domain.vo.Product;


@Controller

@RequestMapping("/product/")

public class ProductController {


@Autowired

private ProductService service;

@RequestMapping("register")

public String registerProduct(@ModelAttribute Product product, BindingResult errors){

//요청파라미터 검증 - Validator 구현체 사용

ProductRegisterValidator validator = new ProductRegisterValidator();

validator.validate(product, errors);

if(errors.hasErrors()){

return "product/register_form";

}

//비지니스 로직 처리

service.registerProduct(product);

//응답

return "product/register_success";

}

}



댓글

Designed by JB FACTORY