JSP and Servlet

ELTag $, list , 값 출력하기

Jini0 2018. 8. 22. 23:05
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
<%@page import="java.util.HashMap"%>
<%@page import="java.util.List"%>
<%@page import="java.util.ArrayList"%>
<%@page import="dto.TestBean"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
 
<%--
    JSP - 단점 : java+html -> seriptlet 을 잘 분석해야 한다. team 작업이 조금 힘들다 -> mvc 구조
          장점: 개발속도가 엄청 빠르다.
 
    EL(Expression Language) Tag
    표현
    
    Core tag => 제어문을 가지고 있음
    
    jsp tag 
 
 --%>
 
<%
    String hello = "Hello";
request.setAttribute("str", hello); //이 페이지에서만 소용이 있음
 
%>
 
 
<%
String str =(String)request.getAttribute("str");
%>
 
 
<%
out.println("str = "+str); //str을 웹에 출력해줌
%>
<br>
str = <%=str %> 
<br>
 
 
${str} <!-- 출력이 hello 로 나옴 -->
<br>
 
${2+3}
<br>
 
${3>2?100:200}
 
 
<br>
 
<%-- <%
    request.setAttribute("data""data");
    String value = (String)request.getAttribute("data");
    out.println("value = " + value);
 
%> --%>
<br>
${data}
<br>
   <!-- 변수인 data 가 비어있는지 ?(==null) -->
    <!-- 비어있으면 true , 값이 있으면 false -->
data = ${empty data} 
<br>
data = ${not empty data }
 
<pre>
${1<9 } <!-- 이렇게 쓰면 판정을 해버린다 --><br>
${1+1 }       <!-- 이렇게 쓰면 연산을 해버린다. -->
</pre>
 
<br>
 
<%
/* rapper class 를 써야 값을 넣을 수 있다 그냥 변수 int 설정으로는 값을 못 넣는다 */
Integer a,b;
a=6;
b=3;
 
request.setAttribute("a", a);
request.setAttribute("b", b);
 
Boolean boo = false;
 
request.setAttribute("boo", boo);
 
 
 
%>
<pre>
a:${a }
b:${b }
boo:${boo }
 
eq: ${a eq b }
eq: ${a == b }
 
ne: ${a ne b }
noteq: ${a != b }
 
boo : ${a>b }
boo : ${a<b }
lt: ${a lt b }
lt: ${a<b }
gt: ${a gt b }
gt: ${a>b }
 
le: ${a le b }
le: ${a <= b }
ge: ${a ge b }
ge: ${a >= b }
 
div: ${a div b } <!-- 나누기 몫을 가져오는 것 -->
div: ${a/b } 
 
mod: ${a mod b } <!-- 나머지 를 가져옴 -->
mod: ${a % b }
 
boo: ${!boo }
 
${a == 10 && !boo }
</pre>
 
<%
 
request.setAttribute("StringData""testtest");
 
 
%>
 
 
StringData : ${requestScope.StringData } <!-- 원래는 requestScope 앞에 붙여줘야하는데 다 생략한거임 -->
<%
 
TestBean bean = new TestBean();
bean.setMessage("hi El Tag");
%>
0
<%=bean.getMessage() %>
 
<%
//EL태그를 쓰려면 반드시 아래처럼 셋팅을 해줘야 한다.
request.setAttribute("testBean", bean);
%>
<br>
${testBean.message }
 
<br>
<%
String array[] = new String[]{"hello""world"};
 
request.setAttribute("_array", array);
%>
 
${_array[0] }
<br>
${_array[1] }
 
<br><br>
 
 
<!-- list -->
<%
//list 는 배열처럼 값을 얻어 올 수 있다
List<String> list = new ArrayList<String>();
list.add("hi");
list.add("EL");
 
request.setAttribute("_list", list);
 
%>
 
list index 0 : ${_list[0] }
list index 1 : ${_list[1] }
 
 
<%
 
List<TestBean> tList = new ArrayList<TestBean>();
 
TestBean testDto = new TestBean();
 
testDto.setMessage("도레미파솔라시도");
 
    tList.add(testDto);
 
request.setAttribute("dto", tList);
 
%>
<br>
list index  0 : ${dto[0].message }
 
<%
HashMap<String , String> map = new HashMap<StringString>();
map.put("key1","value1");
map.put("key2","value2");
 
request.setAttribute("_map", map);
 
%>
<br>
${_map["key1"] }
<br>
 
${_map.key2 }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
</body>
</html>
cs