Descripción general de las expresiones JSTL
- (1) ¿Qué es jstl
JSTL (JSP Standard Tag Library), la biblioteca de etiquetas estándar JSP, que se puede incrustar en la página JSP para completar la lógica empresarial y otras funciones en forma de etiquetas? - (2) ¿Cuál es el significado de jstl?
El propósito de jstl es reemplazar el código del script en la página jsp al igual que el. - (3) La biblioteca de etiquetas estándar estándar de JSTL tiene 5 subbibliotecas, y la biblioteca principal se usa a menudo en la actualidad
Preparación del entorno de expresión JSTL
(1) Importe el paquete jar
(2) Importar biblioteca de etiquetas
<%--引入jstl--%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
Etiqueta de expresión-if de JSTL
- (1) Hay muchas etiquetas principales de jstl, y las únicas etiquetas comúnmente utilizadas son las etiquetas if y foreach.
- (2) La etiqueta <c: if>
juega el papel de juzgar el código java-
(3) Introducción a los atributos de la etiqueta if
web \ demo6_jstl_demo.jsp
<%--使用JSTL来简化以上代码--%>
<%
int a = 200;
int b = 500;
request.setAttribute("a", a);
request.setAttribute("b", b);
%>
<%--
test:测试条件成立
var: 用来保存条件的结果,true或者false
scope: 表示将结果存到哪个域中
--%>
<c:if test="${a > b }" var="bl" scope="session">
<h1 style="color: green">a大于b</h1>
<div></div>
</c:if>
<c:if test="${!(a > b) }">
<h1 style="color: red">a小于b</h1>
</c:if>
Expresión de JSTL para etiqueta
- (1) forEach etiqueta
juega el papel de bucle for del código java - (2) Introducción a los atributos de etiqueta forEach
<%--
for标签:
1:普通for
for(int i=0; i<5; i++)
begin: 表示索引开始
end :表示索引结束,包含结束值
var :循环变量 i, jsp会自动的将该值存放在pageContext域中
step :每一次循环的增量
2:增强for
--%>
<%
request.getParameter("username");
int num = 10;
request.setAttribute("num", num);
%>
<c:forEach begin="0" end="${num}" var="i" step="1">
<h1 style="color: red;">helloword${
i}</h1>
</c:forEach>
<%
ArrayList<String> list = new ArrayList<String>();
list.add("baoqiang1");
list.add("baoqiang2");
list.add("baoqiang3");
request.setAttribute("list", list);
%>
<%--
for( String str: list)
items="${list}" 从域中根据list这个键获取集合对象
var="str" 每次循环时,jstl会自动将集合中的元素赋给str
每次循环时,jstl会自动将str的值存入pageContext域
varStatus="vs" 这个参数会记录当前循环的一些状态信息
vs.count 可以获取当前循环的次数
--%>
<c:forEach items="${list}" var="str" varStatus="vs">
<%--${
str}--%>
现在是第${
vs.count}次循环<br/>
</c:forEach>
<%
ArrayList<User> list2= new ArrayList<User>();
list2.add(new User("liuyan1",33,"female",new Birthday(1991,12,21)));
list2.add(new User("liuyan2",34,"female",new Birthday(1992,12,21)));
list2.add(new User("liuyan3",38,"female",new Birthday(1993,12,21)));
request.setAttribute("list2", list2);
%>
<c:forEach items="${list2}" var="user">
${
user.name} ----${
user.birthday.year}<br/>
</c:forEach>