SP所支持的四大作用域:
pageContext 【PageContext】
作用域仅限于当前的页面,还可以获取到其他八个内置对象。
request 【HttpServletRequest】
作用域仅限于一次请求, 只要服务器对该请求做出了响应,这个域中存的值就没有了。
session 【HttpSession】
作用域限于一次会话(多次请求与响应) 当中。
application 【ServletContext】
整个工程都可以访问,服务器关闭后就不能访问了
7.3.8、JSP常见控制
if语句:
<%! int age = 19; %>
<% if ( age > 18 ) { %>
<p>已成年</p><br />
<% } else { %>
<p>未成年</p><br />
<% } %>
1
2
3
4
5
6
for语句:
<%--for语句--%>
<%! int fontSize1 = 1; %>
<% for (fontSize1 = 1; fontSize1 <= 3; fontSize1++){ %>
<font color="green" size="<%= fontSize1 %>">fontSize1</font><br />
<% } %>
1
2
3
4
5
7.4、EL表达式
7.4.1、EL概述
EL是为了简化咱们的jsp代码,具体一点就是为了简化在jsp里面写的那些java代码。
7.4.2、EL语法
注意:如果从作用域中取值,会先从小的作用域开始取,如果没有,就往下一个作用域取,一直把四个作用域取完都没有,就没有显示。
${ 表达式 }
1
7.4.3、EL隐含对象
EL表达式的11个内置对象:
隐含对象 描述
pageScope page 作用域
requestScope request 作用域
sessionScope session 作用域
applicationScope application 作用域
param Request 对象的参数,字符串
paramValues Request 对象的参数,字符串集合
header HTTP 信息头,字符串
headerValues HTTP 信息头,字符串集合
initParam 上下文初始化参数
cookie Cookie值
pageContext 当前页面的pageContext
注意:您可以在表达式中使用这些对象,就像使用变量一样。
7.4.4、EL案例演示
如果域中所存的是对象:
<%
User u = new User();
u.setUsername("zhangsan");
u.setPassword("123456");
pageContext.setAttribute("u", u);
request.setAttribute("u", u);
session.setAttribute("u", u);
application.setAttribute("u", u);
%>
<br>使用普通手段取出作用域中的值<br>
<%= ((User) pageContext.getAttribute("u")).getUsername() %>
<%= ((User) request.getAttribute("u")).getUsername() %>
<%= ((User) session.getAttribute("u")).getUsername() %>
<%= ((User) application.getAttribute("u")).getUsername() %>
<br>使用EL表达式取出作用域中的值<br>
<p>${ pageScope.u.username }</p>
<p>${ requestScope.u.username }</p>
<p>${ sessionScope.u.username }</p>
<p>${ applicationScope.u.username }</p>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
如果域中所存的是键值:
<%
pageContext.setAttribute("name", "page");
request.setAttribute("name", "request");
session.setAttribute("name", "session");
application.setAttribute("name", "application");
%>
<br>使用普通手段取出作用域中的值<br>
<%= pageContext.getAttribute("name") %>
<%= request.getAttribute("name") %>
<%= session.getAttribute("name") %>
<%= application.getAttribute("name") %>
<br>使用EL表达式取出作用域中的值<br>
${ pageScope.name }
${ requestScope.name }
${ sessionScope.name }
${ applicationScope.name }
————————————————
版权声明:本文为CSDN博主「轻松的小希」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38490457/article/details/108544801