1、采用JSTL,可以替换掉页面上使用的java代码(<% String box = "TEST"; %>,<%= box %>)。
2、针对一,可以自定义一个标准标签库,例如:
<?xml version="1.0" encoding="UTF-8"?>
<taglib version="2.0" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd">
<description>JSTL 1.1 functions library</description>
<display-name>JSTL functions sys</display-name>
<tlib-version>1.1</tlib-version>
<short-name>fns</short-name>
<!-- 此处的uri为页面引用时的uri,如果不采用此uri建议写一个不可达的地址 -->
<uri>http://java.sun.com/jsp/jstl/functionss</uri>
<!-- 配置自定义的EL函数 -->
<function>
<!-- 函数描述 -->
<description>根据主键查寻站点信息</description>
<!-- 配置方法名称 -->
<name>getSite</name>
<!-- 方法所在的类 -->
<function-class>com.website.site.web.TemplateUtil</function-class>
<!-- 配置方法的签名,写明返回类型,参数类型 -->
<function-signature>com.website.site.model.Site getSite(java.lang.Integer)</function-signature>
<!-- 实例 -->
<example>${fns:getSite(siteId)}</example>
</function>
</taglib>
需要注意方法的返回值和参数都需要写具体的路径,同时需要在相应的class中定义静态public方法。
3、页面引用本地的JSTL库,需要将相关文件放在web-inf文件夹或者其次级文件夹中,对外(网络用户)不可见。例如,JSP页面中,调用本地库文件,地址为:
<%@ taglib prefix="c" uri="/WEB-INF/tld/c-rt.tld"%>
<%@ taglib prefix="fns" uri="/WEB-INF/tld/fns.tld"%>