1월 17일(2)
오늘 배운 것
- JSTL 사용해보기
JSTL 사용하기
JSTL을 다운받아 C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib 주소에 JSTL파일을 넣어야함
JSTL을 사용하기 위해서는 아래의 코드를 servlet 파일에 추가를 해야함
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
- 변수 사용시 ${ } 사용해야함
JSTL은 <c 를 사용함
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 출력 태그 -->
<c:out value="JSTL 안녕!"></c:out>
<!-- JSTL로 빈 객체 사용 -->
<jsp:useBean id="test" class="beans.TestBean" />
<p> getInfo메소드 : <c:out value="${test.info }" /> <!-- 중괄호 안에는 변수 혹은 객체-->
<!-- parameter 가져오기 -->
<p> parameter : <c:out value="${param.name}"/><!--param은 parameter -->
<br>
<br>
<!-- IF문 -->
<c:if test="${param.name == 'bob'}"> <!-- else문이 없음 -->
헬로우 bob
</c:if>
<c:if test="${param.name != 'bob'}">
YOU ARE NOT bob!
</c:if>
<br>
<br>
<!-- SWITCH문 JSTL choose, when(케이스), otherwidse(디폴트) -->
<c:choose>
<c:when test="${param.id == 1}">
<b>ID는 1</b>
</c:when>
<c:when test="${param.id == 2}">
<b>ID는 2</b>
</c:when>
<c:otherwise>
<b>ID는 1 또는 2가 아니다.</b>
</c:otherwise>
</c:choose>
<br>
<br>
<!-- 반복문 -->
<c:forEach var="i" begin="0" end="10" step="2"> <!-- 변수 i가 0부터 10까지 2씩 증가 -->
i의 값 : <c:out value="${ i }"/> <br>
</c:forEach>
</body>
</html>
@WebServlet("/Pass")
public class PassObjects extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 각각의 user 객체들을 다른 scope로 전달
User user1 = new User("Bob", 1);
User user2 = new User("Mike", 2);
User user3 = new User("Sue", 3);
// Request scope
request.setAttribute("user1", user1);
// Session scope
HttpSession session = request.getSession();
session.setAttribute("user2", user2);
// Context scope
ServletContext context = getServletContext();
context.setAttribute("user3", user3);
//map list 객체 보내기
Map<String, String> map = new HashMap<>();
map.put("fruit1", "apple");
map.put("fruit2", "orange");
request.setAttribute("maplist", map);
//Arraylist
List<User> list = new ArrayList<User>();
list.add(new User("dog", 1));
list.add(new User("cat", 2));
list.add(new User("cow", 3));
session.setAttribute("list", list);
request.getRequestDispatcher("/receiveObjects.jsp").forward(request, response);
}
}
-
제일 아래에는 request, session, context
두번째는 session, context
세번째는 context만 출력됨
-
JSTL은 java에서처럼 get,set메소드를 만들필요 없이 바로 출력가능
반복문을 이용해 TABLE(표)의 내용을 채울 수 있음
Author And Source
이 문제에 관하여(1월 17일(2)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@tutu10000/1월-17일2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)