当咱们须要使用更多的动做,让咱们的JSP页面“无脚本化”更好,咱们该尝试一下JSTL(JSP标准标签库)。例如,咱们能够用下面代码遍历一个对象集合:java
<c:forEach var="item" items="{items}"> ${item} </c:forEach>
使用下面代码,进行条件判断:jsp
<c:if test="{2 >= 3}"> <%-- do something --%> </c:if>
常见的标签有:ide
核心库(core-c)函数
forEachurl
ifcode
choose-when-otherwisexml
set(设置属性值)对象
remove(移除属性值)rem
import(把URL属性增长到页面)it
param(设置)
url(保证URL重写)
catch(捕获异常)
<%@ page errorPage="somePage"%> <%@ taglib uri="" prefix="c"%> <c:catch var="someException"> <%-- code --%> </c:catch> <c:if test="{someExcpetion != null}"> ${someException.message} </c:if>
当咱们须要获取更多的功能是,咱们能够自定义咱们的标签库,具体步骤以下:
编写能够处理业务的Java类
class SomeClass extends SimpleTagSupport{ @Override public void doTag throws JspException, IOException(){ // 方法体 } }
编写标记库描述
<uri></uri> <function> <name></name> <function-class></function> <function-signature></function-signature> </function>
使用taglib指令
<%@ taglib prefix="" uri=""%>
使用EL调用函数