当我们需要使用更多的动作,让我们的JSP页面“无脚本化”更好,我们该尝试一下JSTL(JSP标准标签库)。例如,我们可以用下面代码遍历一个对象集合:
<c:forEach var="item" items="{items}">
${item}
</c:forEach>
使用下面代码,进行条件判断:
<c:if test="{2 >= 3}">
<%-- do something --%>
</c:if>
常见的标签有:
-
核心库(core-c)
forEach
if
choose-when-otherwise
set(设置属性值)
remove(移除属性值)
import(把URL属性增加到页面)
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调用函数
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。