JSTL核心库的简单使用
7.1考试重点
7.1.1c:out输出数据
考试重点就是c的相关的
jar包下载地址:Apache Tomcat® - Apache Taglibs Downloads
- 看会典型应用就可以
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<title>Title</title>
</head>
<body>
<jsp:useBean id="user" class="com.lxz.bean.entity.User"/>
<jsp:setProperty property="name" name="user" value="Alice"/>
使用动作元素获取name为:
<jsp:getProperty property="name" name="user"/><br/>
使用JSTL标签+EL表达式获取name为:<c:out value="${user.name}"/>
</body>
</html>
7.1.2c:set变量赋值和JavaBean赋值
P106 主要分两大类,4种分类
7.1.3c:if用法
1.语法
2.案例
- test中是判断的表达式
- var是判断的结果
- scope是判断结果的保存位置
7.1.4c:forEach+el遍历显示到jsp页面上
1.基本语法
2.实例(看懂)
7.1.5使用JSTL的好处
- JSP中使用脚本段代码不利于角色分工,导致程序的可维护性和可扩展性较差。应当尽可能采用表达式语言和JSTL标签库来替代JSP中的脚本段。
- JSTL标签库实现了JSP常见Web操作。对于一个采用MVC模式的大中型应用,JSP仅仅充当表示逻辑,开发中常常会用到JSTL的核心标签库中的<c:if>、<c:forEach>、I18N子标签库中的相关少数标签。对于仅仅使用JSP的小型应用,可能会用到JSTL标签库的大部分标签。
7.1.6案例代码
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="bean.*,java.util.*"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!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>
<%
//模拟从数据库中查询出来的数据
List<User> list=new ArrayList<User>();
for(int i=0;i<10;i++){
list.add(new User(i,"张"+(1+i)));
}
session.setAttribute("list", list);
String str="1|2|3|4|";
session.setAttribute("str", str);
%>
<%--测试数据 --%>
${list }
<hr>
<%--循环读取数据 --%>
<c:forEach var="u" items="${list }" varStatus="m">
${m.index }
${m.last }
</c:forEach>
<hr>
<c:forEach begin="1" end="10" step="2" var="i">
${i}
</c:forEach>
<hr>
<c:forTokens var="s" items="${str }" delims="|">
${s}
</c:forTokens>
</body>
</html>
效果图:
7.2其他
7.2.1JSTL
7.2.2核心标签库中的内容