1.EL表达式
a.语法:
<%pageContext.setAttribute("page","page") %> ${page}
b.适用:pageContext > request > session > application (优先级)
c.隐式对象:pageScope、requestScope、sessionScope、applicationScope、pageContext、param、paramValues
d.对象属性的获取:
${user.userName} //方法一 ${user['userName']} //方法二
2.自定义标签
a.创建一个类
public class MyTag extends TagSupport{ //重写doEndTag方法
public int doEndTag() throws JspException{
JspWriter out = pageContext.getOut();
out.println("hello tag");
return SKIP_BODY;
}
}
b.建一个tld文件(WEB-INF)
<tag>
<name>hello</name>
<tag-class>com.tag.MyTag</tag-class>
</tag>
c.使用
<%@ taglib uri="lovo.myTag" prefix="m" %> <m:hello></m:hello>
3.标准标签库
a.引入:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
b.set(声明变量)
<c:set var="name" value="zhangsan"></c:set>
c.out(输出)
<c:out value="1"></c:out>
d.if
<c:if test="true">
<!-- 执行语句 -->
</c:if>
e.choose(类似else if)
<c:choose>
<c:when test="${score>=80}">良好</c:when>
<c:when test="${score>=60}">及格</c:when>
<c:otherwise}">不及格</c:otherwise>
</c:choose>
f.forEach
①普通for循环
<c:forEach var="i" begin="0" end="10" step="1" >
${i}
</c:forEach>
②for-each
<c:forEach var="user" items="${users}" >
${user.userName}
</c:forEach>
4.格式化标签库
a.引入
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
b.国际化资源标签
①建一个file,并命名为messages.properties,书写:
userName = user name
建一个file,并命名为messages_zh_CN.properties,书写:
userName = 用户名
②使用
<fmt:bundle basename="msessge">
<fmt:message key="userName"/>
</fmt:bundle>
c.格式化数字、日期
①日期:
<c:set var="now" value="<%=new java.util.Date()%>"> <fmt:formatDate value="${now}" type="time">
<fmt:formatDate value="${now}" type="date">
<fmt:formatDate value="${now}" type="both">
<fmt:formatDate value="${now}" pattern="yyyy-MM-dd">
①数字:
<fmt:setlocale value="zh_cn"/>
<fmt:formatNumber value="13456.78"/>
<fmt:formatNumber value="0.3" type="number"/>
<fmt:formatNumber value="0.3" type="currenvy"/>
<fmt:formatNumber value="0.3" type="percent"/>
<fmt:formatNumber value="0.3" type=".00"/>
<fmt:formatNumber value="0.3" type="###.##E0"/>
5.数据库标签库(不安全,不建议使用)
a.引入
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
b.使用
<sql:setDateSource driver="com.jdbc.mysql.Driver" url="jdbc:mysql://127.0.0.1:3306/test134" user="root" password="root"></sql:setDateSource> <sql:query var="rs">select * from User<sql:query>
6.函数库(类似java中String的方法)
a.引入
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
b.使用
<c:set var="context" value="zxczvsqwqrqr"> <c:out value="${fn:substring(context,6,-1)}">