nbsp;
</tag>
[Page]
</taglib>
在 JSP 页面中使用定制标记
示例 Web 应用程序的 web.xml 描述符定义了两个参数:debug_mode 和 tags_db_dataSource。debug_mode 参数指示应用
程序是运行在测试环境中还是运行在生产环境中。tags_db_dataSource 参数使用 EL 根据 debug_mode 的值选择数据源名称:
<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>
<web-app 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 web-app_2_4.xsd\"
version=\"2.4\">
<context-param>
<param-name>debug_mode</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>tags_db_dataSource</param-name>
<param-value>jdbc/${
initParam.debug_mode ?\"dbtags\" :\"production\"
}</param-value>
</context-param>
</web-app>
使用 <%@taglib%> 导入本文的标记库后,EvalTest.jsp 页面将使用 <u:eval> 标记求解 web.xml 文件中的表达式:
<!-- EvalTest.jsp -->
<%@ taglib prefix=\"u\" uri=\"/WEB-INF/util.tld\" %>
<u:eval expr=\"${initParam.tags_db_dataSource}\" var=\"db\"/>
${db}
<u:eval expr=\"${initParam.tags_db_dataSource}\"/>
<u:eval>${initParam.tags_db_dataSource}</u:eval>
该 JSP 页面测试两种指定表达式的方法:使用 expr 属性以及置于 <u:eval> 和 </u:eval> 之间。var 属性用于创建名为 db 的 JSP 变量,它的值使用 ${db} 输出。如果 var 属性不存在,则 <u:eval> 标记输出所求解表达式的值。以下是 EvalTest.jsp 生成的输出: [Page]
jdbc/dbtags jdbc/dbtags jdbc/dbtags
&