EL+JSTL
(Expression Language+javaServer Page standard tag library)表达式语言+JSP标准标签库
EL格式:${}
优点:主要用于传入值的,EL随时可以使用在jstl标签库中,很方便
JSTL:库<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
//<c:if test=”condition”>
<c:if test="${empty param.username}"></c:if>
<c:if test=”${!result}”>[${param.username}]</c:if>
//<c:forEach>
<%
List<String> list =new ArrayList<String>();
list.add("so easy");
list.add("anyone can do it");
list.add("interest is the best teacher");
request.setAttribute("tu", list);
%>
<b>遍历list</b>
<br>
<c:forEach begin="1" items="${requestScope.tu}" var="keyword" varStatus="id">
${id.index} ${keyword}<br>
</c:forEach>
//备注:var指定的变量只能在循环里面使用
EL和JSTL的混合使用方法:
<c:choose>
<c:when test="${week==6||week==0 }">休息日,好好放松</c:when>
<c:when test="${week==1 }">新的一周开始了加油</c:when>
<c:otherwise>继续努力吧!</c:otherwise>
</c:choose>
JSTL的优点:
- 简化了代码
- 为应用程序和不同服务器提供了一个接口,提高了可移植性
- 智能提示功能,intellij
- 将java与jsp分离
bean–>pageScope ,requestScope ,sessionScope ,applicationScope
好处–自动转换类型
优先级:pageContext>request>session>application
补充:超链接就等于重定向
${属性名.属性}–用来获取对象的属性
${属性名[i]}–用来获取集合或数组的某一个对象
p
a
r
a
m
.
n
a
m
e
字
段
值
−
−
用
来
接
受
表
单
所
提
交
的
数
据
J
S
T
L
J
a
v
a
S
e
r
v
e
r
P
a
g
e
s
S
t
a
n
d
a
r
d
T
a
g
L
i
b
r
a
r
y
j
s
p
的
标
准
标
签
库
注
释
:
<
语
法
:
在
页
头
引
入
:
<
<
c
:
s
e
t
v
a
r
=
"
e
x
a
m
p
l
e
"
v
a
l
u
e
=
"
{param.name字段值}--用来接受表单所提交的数据 JSTL JavaServerPages Standard Tag Library jsp的标准标签库 注释:<%-- --%> 语法:在页头引入:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <c:set var= "example" value="
param.name字段值−−用来接受表单所提交的数据JSTLJavaServerPagesStandardTagLibraryjsp的标准标签库注释:<语法:在页头引入:<<c:setvar="example"value="{100+1}" scope=“session” />
相当于:session.setAttribute(“example”, 100+1)
<c:out value="${example}" />
相当于:
out.print(pageContext.getAttribute(“example”))
out.print(request.getAttribute(“example”))
out.print(session.getAttribute(“example”))
out.print(application.getAttribute(“example”))
<c:remove var= “example” scope=“session”/>
相当于:session.setAttribute(“example”,null);
<c:if test=“codition” var=“name” scope=“applicationArea”
</c:if>
<c:forEach items=collection var=name begin=start end=end step=count>
…循环体代码…