Flyingis

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

          重溫Struts--標簽

          作者:Flyingis

          Struts標簽提供了大部分應用來滿足創建MVC架構表現頁面的所有功能。在一個MVC應用中,請求并不是直接到達表現頁面,而是首先經過控制器,僅當業務數據被獲取,并且業務規則被應用后,控制器才處理表現頁面。頁面的職責就是輸出結果和捕獲用戶輸入,Struts標簽的功能目的就在于此。

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

          1.        Struts中包含三個標簽庫,Bean、HTMLLogic,其中HTML標簽庫依賴于框架,其他大部分標簽不依賴于框架,可以在其他應用中使用。

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

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

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

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

          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 閱讀(2652) 評論(0)  編輯  收藏 所屬分類: Web 框架與開發

          主站蜘蛛池模板: 渭源县| 商洛市| 云梦县| 思南县| 通城县| 东山县| 凯里市| 双城市| 蓝田县| 建平县| 成武县| 邯郸市| 九江县| 石门县| 巴南区| 陆良县| 彰化县| 康乐县| 雅江县| 阿荣旗| 德保县| 基隆市| 扎兰屯市| 平原县| 云霄县| 闽侯县| 锡林浩特市| 聂荣县| 揭西县| 旌德县| 黔南| 祁门县| 苗栗市| 肥东县| 礼泉县| 鄂尔多斯市| 凤城市| 宁国市| 商河县| 长寿区| 大邑县|