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

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

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

    posts - 51, comments - 17, trackbacks - 0, articles - 9
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    再讀struts

    Posted on 2007-03-17 14:32 chenweicai 閱讀(644) 評論(1)  編輯  收藏

    使用Struts有一段時(shí)間了,但也僅僅涉及到一部分內(nèi)容,比如Action做邏輯控制、FormBean對象化用戶提交的Form數(shù)據(jù)、國際化資源文件,Struts很重要的一部分Struts Tag卻一直沒有使用到,一是因?yàn)橐炀毜氖褂肧truts Tag需要一定的時(shí)間來,二也是因?yàn)樽约河幸惶妆容^好的Tag可用。JSP頁面上Tag使用的較多雖然能讓頁面看起來比較整潔,但可讀性會相對降低,開發(fā)時(shí)的靈活性也會降低。相對來說還是比較看中Action的邏輯控制部分。

    重新翻看Struts書本,特別注意了Tag部分,也還是覺得有些眩暈,或許使用熟練是才能體驗(yàn)出其中的玄妙。摘錄幾個(gè)Tag放在這里。

    1、<bean:message key="hello.jsp.page.heading"/>
    用于輸出資源文件中的內(nèi)容

    2、<html:errors/>或者寫成<html:error property="xxx"/>
    用于輸出錯誤信息,當(dāng)指定peoperty時(shí),則只顯示對應(yīng)的錯誤信息,如:
    ActionErrors errors = new ActionErrors();
    errors.add("xxx",new ActionError("username.null"));

    3、<html:form action="/Helloworld">
    Form表單

    4、<html:text property="userName" size="16"/>
    表單中的輸入域

    5、<html:submit property="submit" value="Submit"/>
    提交按鈕

    6、<html:reset/>
    重置按鈕

    7、<bean:write name="bitiliu" property="userName"/>
    從request中或者session中獲得bitiliu對象,并輸出userName屬性的值,可指定scope

    8、非空邏輯判斷
    <logic:notEmpty name="bitiliu" property="userName" scope="request">
    ?do something...??
    </logic:notEmpty>

    9、<html:link>
    用于生成鏈接,可以增加參數(shù)
    <%
    ?pageContext.setAttribute("name","I am a boy!");

    ?HashMap myMap = new HashMap();?
    ?myMap.put("name","bitiliu");
    ?myMap.put("password",new String[]{"1","2","3"});
    ?pageContext.setAttribute("myMap",myMap);
    %>
    <html:link page="/Test.jsp" paramId="haha" paramName="name" name="myMap">Test</html:link>
    生成的超鏈接為:
    <a href="/Struts2/Test.jsp?password=1&amp;password=2&amp;password=3&amp;haha=I+am+a+boy%21&amp;name=bitiliu">Test</a>

    10、<html:img>
    生成圖片標(biāo)記,如<html:img page="/logo.gif"/>,生成的HTML為<img src="/web/logo.gif">
    <html:img>也可以包含請求參數(shù),可參考<html:link>

    11、<html:cancel>
    增加取消按鈕,點(diǎn)擊取消按鈕也會請求form的action事件,可以在execute方法中通過方法isCancelled(request)來判斷是否點(diǎn)擊了取消按鈕。

    12、<html:hidden>
    生成隱藏域,如<html:hidden property="name"/>,生成的HTML為<input type="hidden" name="name"/>

    13、<html:checkbox property="check">
    對應(yīng)的Form中應(yīng)該有一對應(yīng)屬性check類型為boolean

    14、<html:multibox property="strArray" value="value1">
    對應(yīng)的Form中對應(yīng)屬性strArray類型為String

    15、<html:radio property="strArray" value="value1">
    同<html:multibox>,但為單選框

    16、<html:select>
    下拉選擇框,可指定property、size和multiple(true\false),標(biāo)簽內(nèi)可包含<html:option>、<html:options>和<html:optionCollections>

    17、<html:option>
    可寫成:<html:option value="color.orange" key="color.orange"/>或<html:option value="color.orange">Orange</html:option>

    18、<html:options>
    一次生成多個(gè)option,使用示例:
    Vector vec = new Vector();
    vec.add(new org.apache.struts.util.LabelValueBean("label1","value1"));
    vec.add(new org.apache.struts.util.LabelValueBean("label2","value2"));
    pageContext.setAttribute("vec",vec);

    <html:options collection="vec" property="value" labelProperty="label"/>

    19、<html:file>
    用于實(shí)現(xiàn)文件上傳,其中<html:form>的enctype="multipart/form-date",F(xiàn)orm的對應(yīng)屬性類型應(yīng)為File類型,

    邏輯判斷標(biāo)簽:
    1、<logic:equal>
    相等,示例如下:
    <logic:equal name="strValue" value="112" scope="request">equal</logic:equal>
    標(biāo)簽從request中獲得strValue對象,然后和112比較,如果相等,則輸入字符串equal,否則不輸出。下面標(biāo)簽相同。

    2、<logic:greateEqual>
    大于等于

    3、<logic:greaterThan>
    大于

    4、<logic:lessEqual>
    小于等于

    5、<logic:lessThan>
    小于

    6、<logic:notEqual>
    不等于

    7、<logic:match>
    指定的值是變量的子串

    8、<logic:notMatch>
    指定的值不是變量的子串

    9、<logic:iterate>
    疊代標(biāo)簽

    其它:
    1、在國際化文件中添加兩個(gè)errors.header和errors.footer用于指定錯誤信息顯示時(shí)前后追加的內(nèi)容。


    評論

    # re: 再讀struts  回復(fù)  更多評論   

    2007-04-05 11:09 by guest
    From bitiliu.bokee.com?

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 免费欧洲美女牲交视频| 日本免费污片中国特一级| 99久久精品日本一区二区免费 | 亚洲精品白色在线发布| 国产黄色片免费看| 亚洲国产天堂久久久久久| 亚洲av无一区二区三区| 日本最新免费网站| 亚洲精品免费在线观看| 一个人免费日韩不卡视频| 亚洲AV无码一区东京热久久| 亚洲免费人成在线视频观看| 久久亚洲私人国产精品| 在线观看www日本免费网站| 激情五月亚洲色图| 蜜臀91精品国产免费观看| 亚洲av纯肉无码精品动漫| 亚洲精品人成无码中文毛片| 999zyz**站免费毛片| 亚洲自偷自偷精品| 无人在线直播免费观看| 亚洲精品无码av片| 亚洲精品97久久中文字幕无码| 国产福利免费视频 | 风间由美在线亚洲一区| 亚洲国产专区一区| 无码专区AAAAAA免费视频| 亚洲人成免费电影| 国产大片91精品免费观看男同| 日韩久久无码免费毛片软件| 国产亚洲精品xxx| 亚洲天堂免费在线| 爱情岛论坛免费视频| 国产午夜亚洲精品理论片不卡 | 成人亚洲性情网站WWW在线观看| 国内精品免费视频精选在线观看| 亚洲电影在线播放| 国产一级淫片免费播放| 国产在线国偷精品免费看| 亚洲免费电影网站| 亚洲国产综合无码一区二区二三区|