struts bean標簽庫
Struts bean標簽庫中的標簽可以訪問已經存在的javabean以及它們的屬性,還可以定義新的bean,把它存放在page范圍內或者用戶指定的范圍內,供網頁內其它元素訪問。
bean標簽庫中的標簽大致分為以下三類
1.用于訪問http請求信息或jsp隱含對象的bean標簽
<bean:cookie>:訪問cookie信息
???id屬性:定義一個javax.servlet.http.Cookie類型的變量,該變量存放在page范圍內
???name屬性:指定Cookie的名字
???value屬性:指定cookie的默認值。如果由name屬性指定的Cookie不存在,就使用value屬性指
???????????????????????定的默認值
???multiple屬性:如果設置了該屬性(可以設置為任意一個字符串),可以檢索出所有和cookie名
???????????????????????????字匹配的cookie。此時id屬性定義了一個cookie數組類型的變量,而不是單個
???????????????????????????cookie類型的變量
<bean:header>:訪問http請求中的header信息
???id屬性:定義一個java.lang.String類型的變量,該變量存放在page范圍內
???name屬性:指定需要檢索的header信息
<bean:parameter>:訪問請求參數
???id屬性:定義一個java.lang.String類型的變量,該變量存放在page范圍內
???name屬性:指定請求參數名
???value屬性:指定請求參數的默認值
<bean:page>:訪問jsp隱含對象
???id屬性:定義一個引用隱含對象的變量,該變量存放在page范圍內
???property屬性:指定隱含對象的名字,可選值包括application,config,request,response,session
2.用于訪問web應用資源的bean標簽
<bean:message>:輸出Resource Bundle中的一條消息
???bundle屬性:指定Resource Bundle,和struts配置文件的<message-resources>元素的
????????????????????????? key屬性匹配,如果沒有配置bundle屬性,就采用默認的Resource Bundle
???key屬性:指定消息key
???在<bean:message>標簽中指定消息key有三種方式:
?????????(1).<bean:message>標簽的key屬性直接指定消息key
?????????(2).<bean:message>標簽的name屬性指定一個可以轉化為字符串的變量,這個變量的
??????????????? 字符串值為消息key
?????????(3).同時指定<bean:message>標簽的name屬性和property屬性。name屬性指定一個
?????????????????javabean,property屬性指定javabean的一個屬性,這個javabean的屬性的值就
?????????????????是消息key
?????????對于帶參數的復合消息,可以使用<bean:message>標簽的arg0、arg1、arg2、arg3、arg4
?????????屬性來設置參數值
<bean:resource>:用于檢索web資源的內容
???id屬性:定義一個代表web資源的變量
???name屬性:指定web資源的路徑
???input屬性:如果沒有設置input屬性,則id屬性定義的變量為字符串類型,如果給input屬性
????????????????????? 設置了值(可以是任意字符串),則id屬性定義的變量為java.io.InputStream類型
<bean:struts>:檢索struts框架內在的對象(如ActionFormBean,ActionForward或
??????????????????????????ActionMapping)。必須設置formbean,forward或mapping屬性中的一個屬性
???id屬性:定義一個page范圍的變量,用來引用struts框架的內在對象
???formbean屬性:指定ActionFormBean對象,和配置文件的<form-bean>元素匹配
???forward屬性:指定ActionForward對象,和配置文件的<global-forwards>元素的<forward>
???????????????????????????子元素匹配
???mapping屬性:指定ActionMapping對象,和配置文件的<action>元素匹配
<bean:include>:包含其它web資源的內容,和標準jsp標簽<jsp:include>相似,區別在于
??????????????????????????? <bean:include>把其他web資源的內容存放在一個變量中,而不是顯示在
??????????????????????????? 網頁上
???id屬性:定義一個代表其他web資源的變量
???forward屬性:指定全局轉發路徑,和配置文件的<global-forwards>元素中的<forward>
???????????????????????????子元素匹配
???page屬性:指定相對于當前應用的URI,以“/”開頭
???href屬性:指定完整的URL
3.用于定義或輸出javabean的bean標簽
<bean:define>:定義一個變量
???id屬性:指定變量的名字
???toScope屬性:指定這個變量的存放范圍,如果沒有設置toScope屬性,則這個變量存放在
??????????????????????????? page范圍內
???scope屬性:指定javabean范圍
???給id屬性定義的變量賦值有三種方式:
??????(1).設置value屬性,此時id屬性定義的變量為字符串類型,value屬性代表這個變量的
??????????????字符串值
??????(2).同時設置name和property屬性。name屬性指定一個已經存在的bean,property屬性
?????????????指定已經存在的bean的某個屬性,id屬性定義的變量的值由property屬性決定
??????(3).同時設置name屬性和type屬性。name屬性指定一個已經存在的javabean,type屬性
?????????????指定這個javabean的完整類名,id屬性定義的變量引用這個已經存在的javabean
??????????????對于由name屬性指定的已經存在的javabean,在默認情況下<bean:define>標簽會
??????????????依次在page,request,session和application范圍尋找這個javabean,也可以設置scope
??????????????屬性,明確指定這個javabean的范圍
<bean:write>:顯示javabean或其屬性的內容
???name屬性:指定已經存在的變量
???property屬性:指定bean的屬性
???format屬性:設置輸出數據的格式
???filter屬性:默認值為true。如果值為true,將把輸出內容中特殊的HTML符號作為普通字符串
?????????????????????顯示,如果為false,則不會轉化為普通字符串
???如果希望輸出bean的某個屬性值,應該同時設置name屬性和property屬性
<bean:size>:獲得Map或Collection集合的長度
???id屬性:定義一個Integer類型的變量,值為Map,collection或數組的長度
???name屬性:指定已經存在的Map,collection或數組變量
大多數bean標簽具有以下共同屬性:
???id屬性:定義一個變量,默認情況下該變量存放在page范圍內。對于<bean:define>標簽,它
?????????????????的toScope屬性可以指定這個變量的存放范圍
???name屬性:指定已經存在的javabean的名字。property屬性指定這個javabean的某個屬性,
????????????????????????scope屬性指定這個javabean的范圍,可選值為page,request,session和application
????????????????????????如果沒有設置scope屬性,將依次從page,request,session和application范圍內尋
????????????????????????找這個javabean
posted on 2006-12-07 10:06 寶貝小豬嘜 閱讀(417) 評論(0) 編輯 收藏 所屬分類: 框架&設計模式