HAYOUNG'S MEMO
[ jstl taglib ] form 사용법 본문
<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/>이 있고 그외에도 아래와같이 있다.
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 참조하자
'개발 팁' 카테고리의 다른 글
특수문자 변경 방법 (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 |