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

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

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

    Flyingis

    Talking and thinking freely !
    Flying in the world of GIS !
    隨筆 - 156, 文章 - 16, 評論 - 589, 引用 - 0
    數(shù)據(jù)加載中……

    重溫Struts--標(biāo)簽

    作者:Flyingis

    Struts標(biāo)簽提供了大部分應(yīng)用來滿足創(chuàng)建MVC架構(gòu)表現(xiàn)頁面的所有功能。在一個MVC應(yīng)用中,請求并不是直接到達(dá)表現(xiàn)頁面,而是首先經(jīng)過控制器,僅當(dāng)業(yè)務(wù)數(shù)據(jù)被獲取,并且業(yè)務(wù)規(guī)則被應(yīng)用后,控制器才處理表現(xiàn)頁面。頁面的職責(zé)就是輸出結(jié)果和捕獲用戶輸入,Struts標(biāo)簽的功能目的就在于此。

    雖說Struts標(biāo)簽庫能滿足我們大多數(shù)情況下的需要,但不是唯一可用的標(biāo)簽,例如JSTL標(biāo)簽、DisplayTag等等。Struts標(biāo)簽和其他各種標(biāo)簽的基本使用方法在各種書本上都有介紹,這里總結(jié)一下標(biāo)簽使用中的個人體會,并不斷更新。

    1.        Struts中包含三個標(biāo)簽庫,BeanHTMLLogic,其中HTML標(biāo)簽庫依賴于框架,其他大部分標(biāo)簽不依賴于框架,可以在其他應(yīng)用中使用。

    2.        Struts HTML標(biāo)簽和一般HTML標(biāo)簽具有一定的對應(yīng)關(guān)系,但也存在一點(diǎn)不同。使用ScriptletHTML標(biāo)簽需要在使用前在頁面中將Form Bean聲明為一個腳本變量,Struts標(biāo)簽則不需要聲明就能找到該Bean。在默認(rèn)情況下,Struts標(biāo)簽將對剩下的表單使用同一個Bean,所以不需要對每一個控件都進(jìn)行指定。例如:
    <input type=“text” name=“username” value=“<%=user.getUsername()%>”/>
    使用Struts HTML標(biāo)簽
    <html:text property=“username”>

    3.        Struts HTML標(biāo)簽和一般HTML標(biāo)簽具有一定的對應(yīng)關(guān)系,但存在幾個特例,在Struts HTML標(biāo)簽中,Messages / errors / rewrite分別用來表示顯示一組消息、顯示一組錯誤消息、輸出一個編碼的URL路徑,而這些在一般HTML標(biāo)簽中就不存在。

    4.        HTML有時需要處理特殊的字符,包括標(biāo)簽的括號、&符號以及其他的內(nèi)容,如果這些字符作為文本字段的一部分,可能會出現(xiàn)錯誤并造成HTML崩潰。如果確實(shí)需要在數(shù)據(jù)中存儲這些字符,可以在網(wǎng)頁中進(jìn)行設(shè)置,使得這些字符不被頁面過濾成為特殊字符,例如:
    <bean:write name=“UserForm” property=“username” filter=“false”/>

    5.        使用<html:password>時,如果頁面校驗(yàn)錯誤,password屬性將從Form Bean中讀回,并放置在password標(biāo)簽中。雖然密碼會被瀏覽器用符號隱藏,但在HTML源代碼中仍然可以看到,存在安全上的隱患,因此可以在標(biāo)簽中加入redisplay=false來保證password總是以空白狀態(tài)顯示給用戶。

    6.        提供一個Javascript的返回按鈕,可以定義一個沒有屬性的簡單表單,Struts配置文件:
    <action path=“/adduser”
          type=“org.apache.struts.ForwardAction”
          name=“BlankForm”
          scope=“request”
          validate=“false”
          parameter=“/user.do”>
    JSP
    頁面:
    <html:form action=“/adduser”>
    <html:button property=“page” onClick=“history.go(-1)”>here</html:button>
    </html:form>

    posted on 2006-03-12 09:23 Flyingis 閱讀(2659) 評論(0)  編輯  收藏 所屬分類: Web 框架與開發(fā)

    主站蜘蛛池模板: 亚洲三级视频在线| 亚洲色大成网站WWW久久九九| 亚洲va在线va天堂va888www| 色婷婷综合缴情综免费观看| 国产成人精品免费直播| 亚洲另类无码一区二区三区| 成人午夜18免费看| 亚洲精品国产精品| 四虎免费永久在线播放| 亚洲av无码兔费综合| 日韩免费福利视频| 国产区图片区小说区亚洲区| 四虎免费久久影院| 国产精品玖玖美女张开腿让男人桶爽免费看 | 97国免费在线视频| 亚洲gv白嫩小受在线观看| 最近免费mv在线观看动漫| 久久精品国产亚洲av高清漫画| 免费观看无遮挡www的小视频| 亚洲不卡在线观看| 性做久久久久免费观看| 一区二区三区免费在线视频| 久久九九亚洲精品| 在线精品一卡乱码免费| 亚洲精品无码久久久久A片苍井空| 免费无遮挡无码永久在线观看视频| 免费视频成人国产精品网站| 亚洲成AV人片在线观看无| 91免费国产自产地址入| 久久精品国产亚洲AV| 亚洲理论电影在线观看| 国产精品久久永久免费| 美女视频黄频a免费大全视频| 亚洲精品一品区二品区三品区| 最近2019免费中文字幕6| 亚洲人成色4444在线观看| 老司机亚洲精品影视www| 亚洲香蕉免费有线视频| 黄色毛片免费在线观看| 亚洲国产综合专区电影在线| 成年午夜视频免费观看视频|