bean標籤

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標籤庫大概分爲三類:

  • 用於訪問HTTP請求信息或JSP隱含對象的Bean標籤
  • 用於訪問Web應用資源的Bean標籤
  • 用於定義或者輸出JavaBean的Bean標籤

訪問HTTP請求信息或JSP隱含對象
  • <bean:cookie>:訪問Cookie信息
  • <bean:header>:訪問HTTP請求中的Header信息
  • <bean:parameter>;訪問請求參數。
  • <bean:page>:訪問JSP隱含對象。

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資源。

1.<bean:include>標籤
該標籤用語將其餘web資源包含進當前頁面中,和標準的JSP標籤<jsp:include>很相似,均可以用來包含其餘Web資源的內容,區別在於<bean:include>標籤把其餘的Web資源的內容存放在一個對象中,而不是直接顯示到網頁,<bean:include>標籤的id屬性定義一個表明其餘Web資源的變量。
<bean:include id="value" page="/index.jsp"/>      //在當前資源中
<bean:write name="value" filter="false"/><br/>
// filter爲true則爲原文件
<%
      out.println(value);
%>
2.<bean:message>標籤
該標籤用與顯示資源文件中的消息文本。該標籤有一個bundle屬性,它和struts-config.xml文件中的messsge-resources標記內的key屬性對應。
<message-resources parameter="com.resources" key="beanmessage">
//struts-config
message1=this is a test!
message2=this is a test too!
//resource中
<bean:message bundle="beanmessage" key="message1"/>
//jsp中
3.<bean:resource>標籤
該標籤用於檢索、得到Web資源內容,如:網頁的源代碼。該標籤的屬性有:id有其餘標籤同樣,name指定Web資源的路徑,input若是沒有設置,則id屬性默認爲一個字符類型對象,若是給input賦值yes,則id屬性所定義的對象爲java.IputStream。例如:
  
     <bean:resource id="indexpage" name="/index.jsp" input="yes"/>
     <bean:write name="indexpage" filter="false"/>
4.<bean:struts>標籤
該標籤用於獲取Struts框架內的一些對象,如AationForm和ActionForward等。。<bean:struts>標籤的id屬性定義一個page範圍的變量,用來引用Struts框架的內在對象,必需設置formbean,forward,mapping屬性中的一個屬性,來指定被引用的Struts內在對象。
formbean屬性:指定ActionFormBean對象,和struts配置文件的<form-bean>元素匹配。
forward屬性;指定ActionForward對象,和配置文件的<global-forwards>元素的<forward>子元素匹配。
mapping屬性:指定ActionMapping對象,和配置文件的<action>元素匹配
例如:
<bean:struts id="listFormBean" formBean="listForm"/>
name:<bean:write name="listFormBean" property="name"/><br/>
type:<bean:write name="listFormBean" property="type"/><br/>
dynamic:<bean:write name="listFormBean" property="dynamic"/><br/>


<bean:define>:用於定義一個變量。
<bean:write>: 顯示JavaBean屬性的內容。
<bean:size>: 得到集合對象或數組對象的長度。
1.<bean:define>標籤

該標籤用於定義一個變量,id屬性指定變量的名字,toScope屬性指定這個變量的存放範圍,若是沒有設置,則這個變量存放在page範圍內,給id屬性定義的變量賦值有三種方式:
第一種是,經過value屬性直接賦值;
第二種是,經過name和porperty共同指定一個變量來給id所定義的變量,name——bean,porperty——屬性;
第三種是,經過type屬性和name聯合指定id所定義的變量類型,type——id定義變量的完整類型,name——存在的javaBean。例如:
     <bean:define id="string" value="this is a test"/>
     <bean:write name="string"/>--%>
<%
     Date d = new Date();
     pageContext.setAttribute("currDate",d);
%>
<bean:define id="milliseconds" name="currDate" property="time"/>
當前時間距離1970年1月1日的毫秒數爲:<bean:write name="milliseconds"/>
2.<bean:size>標籤

該標籤用於獲取集合或者數組的長度。
id屬性定義一個Integer類型的變量,那麼屬性指定已經存在的Map,Collection或數組變量,id屬性定義的變量值爲Map,collection或數組的長度。
name屬性爲對象名字。例如:
   
      <%
ArrayList testlist=new ArrayList();
testlist.add(new Integer(1));
testlist.add(new Integer(2));
testlist.add(new Integer(3));
      pageContext.setAttribute("listforcount",testlist);
      %>
        <bean:size id="size" name="listforcount"/>
        長度爲:<bean:write name="size"/>
3.<bean:write>標籤

該標籤用於輸出各類類型的對象,有點相似與System.out.println()。例如: <% String a = "string for test"; pageContext.setAttribute("test",a); %> <bean:write name="test"/>
相關文章
相關標籤/搜索