<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Struts標簽庫詳解 (3)

    Bean 標簽庫
            此標簽庫和Java Bean有很強的關聯性,設計的本意是要在JSP JavaBean 之間提供一個接口。Struts 提供了一套小巧有用的標簽庫來操縱JavaBean和相關的對象:cookie header parameter definewritemessage includepageresourcesizestruts
    1.        bean:cookiebean:headerbean:parameter
    這三個標簽用來重新得到cookie, request headerrequest parameter
    bean:header
    bean:parameter標簽定義了一個字符串;bean:cookie標簽定義了一個Cookie對象。你可以使用value屬性做為默認值。如果找不到指定的值,且默認值沒有設定的話,會拋出一個request time異常。如果你期望返回多個值的話,可把multiple屬性設為true
    <bean:cookie id="sessionID" name="JSESSIONID" value="JSESSIONID-ISUNDEFINED"/>
    //
    這段代碼定義了一個名為sessionID的腳本變量,如果找不到一個名為JSESSIONIDcookie,那sessionID
    //
    的值就被設置為JSESSIONID-ISUNDEFINED
    2.       
    下面代碼會輸出一些Cookie對象的一些屬性:
    <jsp:getProperty name="sessionID " property="comment"/> …
    <jsp:getProperty name="sessionID" property="domain"/> …
    <jsp:getProperty name="sessionID" property="maxAge"/> …
    <jsp:getProperty name="sessionID" property="path"/> …
    <jsp:getProperty name="sessionID" property="value"/> …
    <jsp:getProperty name="sessionID" property="version"/> …
    3.       
    下面是在request中輸出所有header的例子:
    <%
            java.util.Enumeration names =((HttpServletRequest) request).getHeaderNames();
    %>

    <%
            while (names.hasMoreElements()) {
            String name = (String) names.nextElement();
    %>
    <bean:header id="head" name="<%= name %>"/>
    … <%= name %>
    … <%= head %>

    <%
            }
    %>
    4.       
    下面是parameter的例子:
    <bean:parameter id="param1" name="param1"/>
    <bean:parameter id="param2" name="param2" multiple="true"/> //
    此處定義了一個param2[]
    <bean:parameter id="param3" name="param3" value="UNKNOWN VALUE"/>
    5.       
    于其它標簽結合使用:
    <bean:header id="browser" name="User-Agent"/>
    <P>You are viewing this page with: <bean:write name="browser"/></P>
    ----------------------------------------------------------------------------------------------------------------------------------
    <bean:cookie id="username" name="UserName" scope="session"
    value="New User" />
    <P>Welcome <bean:write name="username" property="value"/!</P>
    //
    根據cookie創建一個新的Bean,如果用戶名稱已經存儲在cookie中,它就不顯示為一個新用戶。
    6.       
    7.        bean:define:有三個用途。
    一是定義新字符串常量:
    <bean:define id="foo" value="This is a new String"/>
    <bean:define id="bar" value='<%= "Hello, " + user.getName() %>'/>
    <bean:define id="last" scope="session" value='<%= request.getRequestURI() %>'/>
    8.       
    二是復制一個現有的bean給新的bean
    <bean:define id="foo" name="bar"/>   
    <bean:define id="baz" name="bop" type="com.mycompany.MyClass"/> //
    定義腳本變量的類型,默認為Object
    9.       
    三是復制一個現有的bean的屬性給新的bean
    <bean:define id="bop" name="user" property="role[3].name"/>
       <bean:define id="foo" name="bar" property="baz" scope="request" toScope="session"/>
       //toScope
    屬性指新beanscope,默認為page   
    10.     上段代碼的意思是把名為barbeanbaz屬性賦值給foofoo的類型為String(默認)
    11.     bean:include
    這個標簽和bean:include標簽和相似,不同點就是它定義了一個可以復用的腳本變量。用id屬性命名一個新的腳本變量,還支持forwardhrefpagetransaction.屬性,和html:link中的屬性意義一樣。
    <bean:include id="footerSpacer" page="/long/path/footerSpacer.jsp"/>
    然后你能夠在多個地方(scopepage)調用:
    <bean:write name="footerSpacer" />
    12.    
    13.     bean:message
    用來實現對國際化的支持的一個標簽,配合java.util數據包中定義的LocaleResourceBundle類來完成這個任務,用java.text.MessageFormat類配置消息的格式。
       
    首先要指定資源文件的名稱。這個文件會包含用默認語言編寫的在程序中會出現的所有消息,這些消息以關鍵字-的形式存儲。文件需要存儲在類路徑下,路徑要作為初始化參數傳送給ActionServlet
       
    實現國際化的規定:所有的資源文件必須都存儲在基本資源文件所在的目錄中。基本資源文件包含的是用默認地區語言-本地語言編寫的消息。如果基本資源文件的名稱是ApplicationResources.properties,那么用其他特定語言編寫的資源文件的名稱就應該是ApplicationResources_xx.properties(xxISO編碼,如英語是en)。因此這些文件應包含相同的關鍵字,但關鍵字的值是用特定語言編寫的。
       
    然后,ActionServlet的區域初始化參數必須與一個true值一起傳送,這樣ActionServlet就會在用戶會話中的Action.LOCALE_KEY關鍵字下存儲一個特定用戶計算機的區域對象。現在可以運行一個國際化的web站點,它可以根據用戶計算機上的設置的區域自動以相應的語言顯示。

    使用特定的字符串來替換部分消息:
    在資源文件中的定義:info.myKey = The numbers entered are {0},{1},{2},{3}
    標記的使用:<bean:message key="info.myKey" arg0="5" arg1="6" arg2="7" arg3="8"/>
    Jsp
    頁面的顯示:The numbers entered are 5,6,7,8 // 最多支持4個參數
    14.    
    15.     bean:page:把Jsp中的內部對象做為腳本變量。
    <bean:page id="requestObj" property="request"/>
    16.    
    17.     bean:resource:獲得應用程序的資源,這個資源可以是一個String或從java.io.InputStream中讀入。使用ServletContext.getResource()ServletContext.getResourceAsStream() 方法檢索web應用中的資源,如果在檢索資源時發生問題,就會產生一個ruquest time異常。
    <bean:resource id="webxml" name="/WEB-INF/web.xml"/>
    18.     使用input屬性時,資源會做為一個InputStream,如果不指定就被當成一個String
    19.     bean:size:得到存儲在arraycollectionmap中的數目,類型為java.lang.Integer
    <bean:size id="count" name="employees" />
    20.    
    21.     bean:struts:復制Struct 對象(三種類型)給新的beanscopepage
    <bean:struts id="form" formBean="CustomerForm"/>   
    <bean:struts id="fwd" forward="success"/>
    <bean:struts id="map" mapping="/saveCustomer"/>
    22.    
    23.     bean:write:以字符串形式輸出bean的屬性值。
    filter
    屬性:設為true時,將HTML保留字轉換為實體("<" 轉換為 &lt);
    ignore
    屬性:如果對象不存在,不會拋出異常。
    <bean:write name="userRegistration" property="email" scope="request"/>

    posted on 2009-02-15 17:30 丁克設計 閱讀(87) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    留言簿(6)

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    主站蜘蛛池模板: 久久精品无码专区免费| 国产a不卡片精品免费观看| 久久99精品国产免费观看| 亚洲成人免费网址| 国产在线不卡免费播放| 久久被窝电影亚洲爽爽爽 | 成年女人男人免费视频播放| 大学生a级毛片免费观看 | 亚洲色成人网站WWW永久| 亚洲国产成人久久三区| 一区二区三区免费电影| 亚洲精品动漫免费二区| 亚洲色欲久久久综合网东京热| 亚洲ts人妖网站| 国产在线观a免费观看| 大香人蕉免费视频75| 91亚洲国产在人线播放午夜| 免费人成再在线观看网站 | 午夜理伦剧场免费| 亚洲欧洲成人精品香蕉网| 亚洲成av人片天堂网无码】| 18禁无遮挡无码国产免费网站| 亚洲va中文字幕无码| 亚洲欧美日韩一区二区三区| 最近高清中文字幕无吗免费看| 亚洲高清在线视频| 好猛好深好爽好硬免费视频| 破了亲妺妺的处免费视频国产| 亚洲中文字幕无码av在线| 69视频在线观看高清免费| 亚洲午夜免费视频| 无码人妻一区二区三区免费n鬼沢| 久久久久亚洲av毛片大| 好男人资源在线WWW免费| 国产av无码专区亚洲国产精品| 人与动性xxxxx免费| 在线A亚洲老鸭窝天堂| 91在线视频免费观看| 亚洲AV日韩AV鸥美在线观看| 在线永久免费的视频草莓| 亚洲综合丁香婷婷六月香|