HAYOUNG'S MEMO

[ jstl taglib ] form 사용법 본문

개발 팁

[ jstl taglib ] form 사용법

HAyOunG0518 2019. 11. 28. 16:37

<form:form> 태그 

 

spring버전 2.0부터 jsp와 웹MVC를 사용할 때,

폼 요소를 좀 더 편리하게 다룰 수 있도록

데이터바인딩과 관련된 광범위한 태그를 제공

 

1. 장점

  •  HTML 폼에 데이터를 바인딩하거나 에러메세지 처리등을 간편하게 할 수 있음
  • 서블릿으로부터 받은 vo값을 자동으로 바인딩 해주기에 일일히 값을 넣어줄 필요가 없음
<input type="input" value="${input.name}"/>

이렇게 하지않고

<form:input path="name"/>

이렇게 하면 자동으로 id와 name,value속성을 추가해서 만들어줌

 

2. configuration 

jstl taglib중 form을 사용하기위해서는 jsp 페이지에 taglib를 추가해주어야한다.

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>

3. form 태그 종류

기본적으로 <form:form/>이 있고 그외에도 아래와같이 있다.

<form:input />이런식으로 사용

4. form tag

form 태그는 데이터 바인딩(서블릿으로부터 받은 VO나 데이터들을 view단에서 "${input.name}" 이런식으로 지정해주는것)을 위해 태그 안에 바인딩 path를 지정해 줄 수 있다.

path에 해당되는 값은 도메인 모델의 Bean 객체를 의미(서블릿으로부터 받은 값 )한다.

사용예는 다음과 같다.

아래는 서블릿으로부터 받은 vo값을 출력하는방법이다.

뷰의 input 값을 서블릿으로 보낼때는 

Controller.java에 form으로 접근해야하기때문에 특정작업을 해주어야한다.

 

 

form:form tag에서 modelAttribute="user" 를 넣어주면,(여기에서 user는 앞서 지정한 addAttribute의 이름이다.) form tag에서 User.class에 있는 set method와 get method를 이용해서 각각의 속성들과 mapping을 자동으로 해준다.

방법1) jsp단에서 지정해주기

JSP Servlet
<%
request.setAttribute("user",sample.services.UserVO())%>선언
HttpServletRequest.getAttribute(~~ 로 데이터받기

방법2) controller단에서 지정해주기

 

 

그외의 form:input, form:checkbox ...는 아래의 url 참조하자

참조 : https://linuxism.ustd.ip.or.kr/1374

'개발 팁' 카테고리의 다른 글

특수문자 변경 방법  (0) 2020.07.09
select box의 value, text 내용 전부 보내는 방법  (0) 2020.04.17
정리해두기  (0) 2020.01.29
web.xml  (0) 2019.12.24
자주 사용되는 jstl taglib들  (0) 2019.11.28