jasper expression language

yozzum·2022년 3월 20일
0

데이터 구조 별로 View에서 EL 이용해서 값 뽑는 방법

1) Number

Controller

request.setAttribute("cnt", 30)

View

request.getAttribute("cnt")

View - EL

${cnt}

2) List

Controller

List list = new ArrayList(){"1", "test", ...};
request.setAttribute("list", list);

View

((List)request.getAttribute("list").get(0))

View - EL

${list[0]}

3) Map

Controller

Map n = new HashMap("title", "제목");
request.setAttribute("n", n);

View

((Map)request.getAttribute("n")).get("title")

View - EL

${n.title}

EL 저장소

spag.java

package com.youngenie.web;

import ...
@WebServlet("/spag")
public class Spag extends HttpServlet{

	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		int num = 0;
		String num_ = request.getParameter("n");
		if(num_ != null && !num_.equals(""))
			num = Integer.parseInt(num_);

		String result;
		
		if(num%2 != 0)
		    result = "홀수";
		else
		    result = "짝수";
		
		request.setAttribute("result", result);
		
		String[] names = {"david", "dragon"};
		request.setAttribute("names", names);
		
		Map<String, Object> notice = new HashMap<String, Object>();
		notice.put("id", 1);
		notice.put("title", "EL is good");
		request.setAttribute("notice", notice);
		
		//forward
		RequestDispatcher dispatcher = request.getRequestDispatcher("spag.jsp");
		dispatcher.forward(request, response);
	}
}

spag.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<!-- -------------------------------------------------- -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<%
	pageContext.setAttribute("result", "hello");
%>


<body>
	<%=request.getAttribute("result") %>입니다.
	${requestScope.result}<br >
	<br >
	${names[0]}
	<br >
	${notice.id}
	${notice.title}
	${result}
	${param.n}
	${header.accept}
	
</body>
</html>
profile
yozzum

0개의 댓글