1、 訪問HTTP請求信息或JSP隱含對象 html
一、<bean:header>標籤: java
該標籤用於從HTTP請求中提取Header信息,示例以下: web
<bean:header id="lang" name="Accept-Language"/> 數組
提取的信息是:<bean:write name="lang"/> 瀏覽器
解釋:將請求Header中的Accept-Language屬性存儲到page範圍內的變量Language中!而後輸出! cookie
二、<bean:parameter>標籤: session
該標籤用於檢索請求參數,示例以下: app
<bean:parameter id="uid" name="userid" value="默認值" multiple="yes"/> 框架
解釋:將name屬性指定的參數值存儲到id屬性指定的變量中,若是不存在這樣的參數,那麼採起value屬性指定的默認值! 對於multiple屬性它是用於檢索全部同名參數,此時id屬性指定的變量再也不爲String類型,而是String[]類型!注意multiple屬性值只需指定任意字符串,不必定要yes! jsp
三、<bean:cookie>標籤:
該標籤用於訪問客戶端的 Cookie 信息,示例以下:
<bean:cookie id="cookie" name="cookie的名字" value="默認值" multiple="yes"/>
解釋:將name屬性指定的cookie值存儲到id屬性指定名稱的javax.servlet.http.Cookie類型變量中,若是不存在這樣的參數,那麼採起value屬性指定的默認值! 對於multiple屬性它是用於檢索全部同名參數,此時id屬性指定的變量再也不爲javax.servlet.http.Cookie類型,而是javax.servlet.http.Cookie[]類型!注意multiple屬性值只需指定任意字符串,不必定要yes!注意cookie是以name/value的形式存在的!
四、<bean:page>標籤:
該標籤用於引用JSP的隱含對象,這些對象包含 Session,config,request,Response,Application五個隱含對象!示例以下:
<bean:page id="this_session" name="session" />
session範圍內存儲的userid屬性值爲:<bean:write name="this_session" property="userid">
解釋:首先將session引入到page範圍內的this_session變量中,此時this_session爲session類型的變量!接下來用標籤輸出session中的userid屬性!
------------------------------------------
2、訪問WEB應用資源
一、<bean:message>標籤:
該標籤的使用很是普遍,用於顯示資源文件中的信息,示例以下:
a、 <bean:message bundle="資源文件代號" key="資源文件中的key"/>
解釋:顯示bundle屬性指定的資源文件的key屬性所表明的字符串,這是最經常使用的!
b、 <bean:message bundle="資源文件代號" name="變量名"/>
解釋:將name屬性指定的變量值做爲bundle屬性指定的資源文件的key,顯示key表明的字符串!
c、 <bean:message bundle="資源文件代號" name="javaBean變量" property="bean的屬性"/>
解釋:將name屬性指定的Bean中的property屬性的值做爲bundle指定的資源文件的key,輸出key所表明的字符串!
d、 <bean:message bundle="資源文件代號" key="資源文件中的key" arg0="第一個參數值"/>
解釋:在資源文件中須要參數的時候就採用這種方式傳遞參數,若是有N個參數那就按照argN一直傳遞下去!
二、<bean:resource>標籤:
該標籤是表示把指定的web資源裝載到一個JavaBan中,示例以下:
<bean:resource id="resource" input="yes" name="/index.jsp"/>
解釋:以上代碼是將index.jsp文件以inputStream的形式保存在id指定的變量中!注意若是不設置input屬性,那麼id屬性指定的變量爲字符串類型,他保存的是index.jsp的內容!另外input屬性能夠設置任意值!我的以爲這個標籤的做用不大,在調試的時候可使用!
三、<bean:struts>標籤:
該標籤用於檢索struts框架內在的對象,示例以下:
<bean:struts id="" forward=""/>
解釋:該標籤使用不是很普遍,須要時再查詢!
四、<bean:include>標籤:
該標籤使用不是很普遍,須要時再查詢!
-----------------------------------------------------------------------------------------------------------
3、定義變量或輸出
一、<bean:define>標籤:
該標籤用於定義一個變量,示例以下:
a 、 <bean:define id="name" value="chenshan" />
解釋:以上代碼定義一個普通的字符串id屬性指定變量的名稱,value指定變量的值!以上標籤等價於:String name="chenshan";
b、 <bean:define id="nm" name="persionBean" property="userName"/>
解釋:以上代碼定義一個nm變量,該變量的值是由name屬性指定的已經存在的javabean的userName屬性的值!因此name屬性指定javabean,property指定bean的屬性!
c、 <bean:define id="nm" name="persionBean" type="javax.servlet.servletContext" />
解釋:以上代碼定義了一個名爲"nm"的變量,該變量引用已經存在的persionBean!注意,對於由name屬性指定已經存在的javaBean,<bean:define>標籤會依次從page、request、session、appliction範圍內查找,此外也能夠設置scop屬性來明確指定這個已經存在的javaBean,這樣<bean:define>標籤就會在指定的範圍內尋找JavaBean!
二、<bean:size>標籤:
該標籤用於計算Map、Collection或數組的長度,示例以下:
<bean:size id="length" name="nameList"/>
名稱列表的長度是:<bean:write name="length"/>
解釋:略~~~
三、<bean:write>標籤:
該標籤的使用也是很是多的,它用於在網頁上輸出變量值和某個已經存在的Bean的屬性值!示例以下:
<%
request.setAttribute("floatval",Float.valueOf("2.0123456"));
Calendar gc=GregoriCalendar.getInstance();//定義一個時間類型的變量
gc.setTime(new java.util.Date(session.getCreationTime()));
request.setAttribute("now",gc);
%>
<bean:write name="floatval" format="#.###"/>
解釋:按照format指定的格式四捨五入顯示數據!
<bean:write name="now" format="yyyy-mm--dd hh:mm:ss"/>
解釋:按照指定的時間格式輸出時間!
另外<bean:write>標籤的filter屬性也是很是重要的,他表示是否按照HTML格式編譯輸出的信息;默認值爲true-不編譯,若是設置爲false,就表示要編譯,那麼將輸出HTML標記類型的信息!
Struts Bean標籤庫中的標籤能夠訪問已存在的JavaBean以及它們的屬性,還能夠定義新的Bean,把它存放在page範圍內或用戶指定的範圍內,供網頁其餘元素訪問。Bean標籤庫大概分爲三類:
1.<bean:cookie>標籤
該標籤能夠檢索保存在瀏覽器中的Cookie,具備屬性id,name,multiple,value,id是對cookie在該頁面中的惟一標識,在頁面其它地方能夠經過id進行引用。至關於用cookie直接引用。Name是相應的cookie名稱。Multiple能夠賦予任意值,若是設置了該屬性,能夠檢索出全部和Cookie名字匹配的Cookie名字匹配的Cookie,此時,id屬性定義了一個Cookie數組類型的變量,而不是單個Cookie類型的變量。例如:
<bean:cookie id="myCookie" name="tags/cookiedemo" value="ddddddddd"/>
<bean:write name="myCookie" property="name"/>
<bean:write name="myCookie" property="value"/>
<%
String names=myCookie.getName();
String value=myCookie.getValue();
out.println("this cookie name is "+names+",value is "+value+"");
%>
2.<bean:header>標籤
該標籤用於檢索HTTP請求中的Header信息。若是沒有指定multiple屬性則依據剛取回的值建立一個String類型的bean。若是指定了multiple屬性則依據剛取回的值建立一個String[]類型的數組。例如:
<logic:present header="User-Agent">
<!-- 其它標籤經過綁定到page做用域中的屬性使用該值 -->
您的瀏覽器是<bean:header id="userAgent" name="User-Agent"/>
<bean:write name="userAgent" /><br/>
<!-- JSP腳本經過scripting變量使用該值 -->
<%
out.println("您的瀏覽器是"+userAgent+"。<br/>");
%>
</logic:present>
<%
String id = "userAgent";
String name = "User-Agent";
String value = ((HttpServletRequest)pageContext.getRequest()).getHeader(name);
out.println("============="+value);
%>
3.<bean:parameter>標籤
該標籤用於檢索HTTP請求參數,具備如下屬性:
id屬性:定義一個java.lang.String類型的變量,這個變量存放在page範圍內。
name屬性:指定請求參數名。
value屬性:請求指定參數的默認值
若是沒有指定multiple屬性則依據剛取回的值建立一個String類型的bean。若是指定了multiple屬性則依據剛取回的值建立一個String[]類型的數組。例如:
<html:link page="/parameter2.jsptestString=this+is+a+test&testInt=123456">
請求參數
</html:link>
<bean:parameter id="test1" name="testString" value="" />
The first test is: <bean:write name="test1" />
<bean:parameter id="test2" name="testInt" value=""/>
The second test is:<bean:write name="test2"/>
4.<bean:page>標籤
該標籤用於檢索獲取JSP隱含對象,如session、request和response等,具備如下屬性:
id屬性:定義了一個引用隱含對象的變量,這個變量存放在page範圍
property屬性:指定隱含對象的名字,可選值包括application,config,request,response,session 例如:
<bean:page id="mySession" property="session"/>
<%
out.println("Session time:"+mySession.getCreationTime());
%>
<bean:message>:顯示Resource Bundle中的消息。
<bean:resource>;把Web資源裝載到一個JavaBean中。
<bean:struts>;訪問Struts的內在配置對象。
<bean:include>;包含一個web資源。