<jsp-config> 包括 <taglib> 和 <jsp-property-group> 兩個子元素。其中<taglib> 元素在JSP 1.2 時就已經(jīng)存在;而<jsp-property-group> 是JSP 2.0 新增的元素。<jsp-property-group> 元素主要有八個子元素,它們分別為:
1.<description>:設(shè)定的說明
2.<display-name>:設(shè)定名稱
3.<url-pattern>:設(shè)定值所影響的范圍,如: /CH2 或 /*.jsp
4.<el-ignored>:若為 true,表示不支持 EL 語法
5.<scripting-invalid>:若為 true,表示不支持 <% scripting %>語法
6.<page-encoding>:設(shè)定 JSP 網(wǎng)頁的編碼
7.<include-prelude>:設(shè)置 JSP 網(wǎng)頁的抬頭,擴展名為 .jspf
8.<include-coda>:設(shè)置 JSP 網(wǎng)頁的結(jié)尾,擴展名為 .jspf
貼一個簡單配置:
view plaincopy to clipboardprint?
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<scripting-invalid>true</scripting-invalid>
<include-prelude>/jsp/segments/taglibs.jspf</include-prelude>
<include-coda>/jsp/segments/coda.jspf</include-coda>
</jsp-property-group>
<jsp-property-group>
<url-pattern>*.do</url-pattern>
<scripting-invalid>true</scripting-invalid>
<include-prelude>/jsp/segments/taglibs.jspf</include-prelude>
<include-prelude>/jsp/segments/coda.jspf</include-prelude>
</jsp-property-group>
</jsp-config>
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<scripting-invalid>true</scripting-invalid>
<include-prelude>/jsp/segments/taglibs.jspf</include-prelude>
<include-coda>/jsp/segments/coda.jspf</include-coda>
</jsp-property-group>
<jsp-property-group>
<url-pattern>*.do</url-pattern>
<scripting-invalid>true</scripting-invalid>
<include-prelude>/jsp/segments/taglibs.jspf</include-prelude>
<include-prelude>/jsp/segments/coda.jspf</include-prelude>
</jsp-property-group>
</jsp-config>
以上配置指明在所有*.jsp,*.do的路徑中投不能是使用scriptlet(jsp 腳本),因為這會是java代碼和html代碼混雜在一起,稀釋了代碼的清晰度,增加項目維護難度。include-prelude設(shè)置每個文件的抬頭為/jsp/segments/taglibs.jspf,include-prelude設(shè)置了每個文件的結(jié)尾/jsp/segments/coda.jspf,記住,引入的文件必須是以.jspf為后綴的jsp插件框架文件。
通過引入抬頭和結(jié)尾可以做一些標(biāo)簽申明和版權(quán)申明等類似工作。覺得很值得提倡!
jspf文件跟普通引入的jsp文件除了后綴沒有其他區(qū)別,都不能包含<html><head><body>等標(biāo)簽,下面貼一個例子
view plaincopy to clipboardprint?
<%@ page language="java" contentType="text/html; charset=gb2312"%>
<%@ taglib uri="../WEB-INF/tlds/c.tld" prefix="c" %>
<%@ taglib uri="../WEB-INF/tlds/fn.tld" prefix="fn" %>
<%@ taglib uri="../WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="../WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="../WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="../WEB-INF/tlds/app.tld" prefix="app" %>
<app:resource id="resource"/>
<%@ page language="java" contentType="text/html; charset=gb2312"%>
<%@ taglib uri="../WEB-INF/tlds/c.tld" prefix="c" %>
<%@ taglib uri="../WEB-INF/tlds/fn.tld" prefix="fn" %>
<%@ taglib uri="../WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="../WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="../WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="../WEB-INF/tlds/app.tld" prefix="app" %>
<app:resource id="resource"/>
在jsp頁面中要如果要單獨引入一個jspf文件,必須要采用 <@include file="...">指令形式靜態(tài)引入,jspf文件的內(nèi)容才會被解析并執(zhí)行其中的jsp指令和tag,使用"jsp:include"和JSTL的"c:import"都沒有用,jspf文件被當(dāng)作純文本文件處理了。比如:
view plaincopy to clipboardprint?
<%@ include file="include/script/jquery.jspf"%>
<%@ include file="include/script/jquery.jspf"%>
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。