超碰在线97国产,一区二区激情小说,亚洲精品97http://www2.blogjava.net/yifeng661/category/16305.htmlzh-cnTue, 27 Feb 2007 19:37:36 GMTTue, 27 Feb 2007 19:37:36 GMT60(轉)深入了解struts中的struts-config.xml http://www.aygfsteel.com/yifeng661/articles/74498.html伊峰伊峰Wed, 11 Oct 2006 02:49:00 GMThttp://www.aygfsteel.com/yifeng661/articles/74498.htmlhttp://www.aygfsteel.com/yifeng661/comments/74498.htmlhttp://www.aygfsteel.com/yifeng661/articles/74498.html#Feedback0http://www.aygfsteel.com/yifeng661/comments/commentRss/74498.htmlhttp://www.aygfsteel.com/yifeng661/services/trackbacks/74498.html<!ELEMENT struts-config
(data-sources?,form-beans?,global-exceptions?,global-forwards?,action-mappings?,controller?,message-resources*,plug-in*)
>
以上8個元素,下面一一描述:
1. date-sources元素
  date-sources元素用來配置應用程序所需要的數(shù)據(jù)源。java語言提供了javax.sql.DateSource接口,所有數(shù)據(jù)源必須實現(xiàn)該接口。如下配置:
<data-sources>
  <data-source type="org.apached.commons.dbcp.BasicDataSource">
    ………………
  </data-source>
</data-sources>
在Action中訪問方式如:
javax.sql.DataSource dataSource;
java.sql.Connection myConnection;
try
{
  dataSource = getDataSource(request);
  myConnection = dataSource.getConnection();
}
…………
  如果是多數(shù)據(jù)源,可用如下配置:
<data-sources>
  <data-source key="a"? type="org.apached.commons.dbcp.BasicDataSource">
    ………………
  </data-source>
  <data-source key="b"?? type="org.apached.commons.dbcp.BasicDataSource">
    ………………
  </data-source>
</data-sources>
訪問方式:dataSource = getDataSource(request,"a");

?2. form-beans元素
  該元素主要用來配置表單驗證的類。它包含如下屬性:
  1. classname:一般用得少,指定和form-bean無素對應的配置類,默認為org.apache.struts.config.FormBeanConfig,如果自定義,則必須擴展FormBeanConfig類??捎锌蔁o。
  2. name:ActionForm Bean的惟一標識。必須。
  3. type:ActionForm的完整類名。必須。
如下所示:
<form-beans>
  <form-bean
      name="Loign"
      type="com.ha.login">
  </form-bean>
</form-beans>
  如果是動態(tài)Action FormBean,還必須配置form-bean元素的form-property子元素。它包含四個屬性,上面三個,還有一個initial 元素:以字符串的形式設置表單字段的初始值,如果沒有設置該屬性,則是基本類型為0,如果是對象則為null??捎锌蔁o。如下所示:
<form-beans>
  <form-bean
      name="Loign"
      type="com.ha.login">
     <form-property name="ok"? type="java.lang.String"/>
     <form-property name="oks"? type="java.lang.String"/>
     <form-property name="okss"? type="java.lang.Integer" initial="20"/>
  </form-bean>
</form-beans>

?3. global-exceptions元素
  該元素主要配置異常處理,它的exception子元素代表全局的異常配置。struts采取配置的方式來處理異常。它用來設置java異常和異常處理類org.apache.struts.action.ExceptionHandler之間的映射。它有七個屬性,如下所示:
  1. className:指定和exception元素對應的配置類,默認為:org.apache.struts.config.ExceptionConfig。可有可無。
  2. Handler:指定異常得理類,默認為:org.apache.struts.action.ExceptionHandler??捎锌蔁o
  3. key:指定在Resource Bundle中描述該異常的消息key
  4. path:指定當異常發(fā)生時的轉發(fā)路徑。
  5. scope:指定ActionMessages實例的存放范圍,可選值包括:request和session,默認為request。可有可無。
  6. type:指定所需處理異常類的名字,必須。
  7. bundle:指定Resource Bundle
如下所示:
<global-exceptions>
  <exception
      key="global.error.invalidlogin"
      path="/error.jsp"
      scope="request"
      type="com.hn.tree"
  />
</global-exceptions>

?4. global-forwards元素
  該元素主要用來聲明全局的轉發(fā)關系,它具有以下四個屬性:
  1. className:和forward元素對應的配置類,默認為:org.apache.struts.action.ActionForward。可有可無。
  2. contextRelative:此項為true時,表時path屬性以"/"開頭,相對于當前上下文的URL,默認為false.可有可無?!?br />  3. name:轉發(fā)路徑的邏輯名.必填。
  4. path:轉發(fā)或重定向的URL,當contextRelative=false時,URL路徑相對于當前應用(application),當為ture時,表示URL路徑相對于當前上下文(context)。
  5.? redirect:當此項為ture時,表示執(zhí)行重定向操作。當此項為false時表示轉向操作。默認為false。
如下所示:
<global-forwards>
  <forward? name="forms1" ?path="/a.do"/>
  <forward? name="forms2" ?path="/nb.jsp"/>
<global-forwards>

?5. action-mappings元素
  描述從特定的請求路徑到相應的Action類的映射。它具有以下幾個屬性:
  1. attribute:設置和Action關聯(lián)的ActionForm Bean在request和session范圍內(nèi)的key。如:Form Bean存在于request范圍內(nèi),此項設為“myBenas”,則在request.getAttribute("myBenas")就可以返回該Bean的實例。
  2. classsName:和action元素對應的配置元素,默認為:org.apache.struts.action.ActionMapping.
  3. forward:轉發(fā)的URL路徑。
  4. include:指定包含的URL路徑。
  5. input:輸入表單的URL路徑,當表單驗證失敗時,將把請求轉發(fā)到該URL。
  6. name:指定和Action關聯(lián)的Action FormBean的名字,該名字必須在Form-Bean定義過。
  7. path:指定訪問Action的路徑,以“/”開頭,無擴展名。
  8. parameter:指定Actgion的配置參數(shù),在Action類的execute()方法中,可以調(diào)用ActionMapping對象的getParameter()方法來讀取該配置參數(shù)。
  9. roles:指定允許調(diào)用該Action的安全角色,多個角色之間用,隔開,在處理請求時,RequestProcessor會根據(jù)該配置項來決定用戶是否有權限調(diào)用Action權限。
  10. scope:指定ActionForm Bean的存在范圍,可選取為request和session,默認為session。
  11. type:指定Action類的完整類名。
  12. unknown:如果此項為true,表示可以處理用戶發(fā)出的所有無效的Action URL,默認為false;
  13. validate:指定是否要調(diào)用Action FormBean的validate方法,默認值為ture.
注:forward、include、type屬性只能選中其中一項。
如下:
<action path="/search"
    type="zxj.okBean"
    name="a1"
    scope="request"
    validate="true"
    input="/b.jsp">
  <forward name="tig" path="/aa.jsp"/>
</action>
注:此中的forward是指局部的轉發(fā)路徑。global-forwards表示全局的轉發(fā)路徑。

?6. controller元素
  該元素用于配置ActionServlet。它具有以下屬性。
  1. bufferSize:指定上載文件的輸入緩沖大小,可選,默認為4096
  2. className:指定和controller元素對應的配置類,默認為org.apache.struts.config.ControllerConfig
  3. conentType:字符編碼,如果在Action和JSP網(wǎng)頁中設置了,則覆蓋該設置。
  4. locale:指定是否把Locale對象保存到當前用戶的session中,默認值為false.
  5. processorClass:指定負責請求的java類完整路徑。
  6. tempDir:指定處理文件的臨時工作目錄,如果此項沒有設置,將采用Servlet容器為web應用分配的臨時工作目錄。
  7. nochache:如果為true:在響應結果中將加入特定的頭參數(shù):Pragma,Cache-Control和Expise,防止頁面被保存在客戶端的瀏覽器中,默認為false
如下:
<controller
  contentType="text/html;charset="UTF-8""
  locale="true"
  processorClass="con.ok"/>

?7. message-resources元素
  主要配置本地化消息文本,它具有以下屬性。
  1. className:和message-resources元素對應的配置類,默認為org.apache.struts.config.MessageResourcesConfig。
  2. factory:指定消息資源的工廠類,默認為:org.apache.struts.util.PropertyMessageResourcesFactory類
  3. key:指定Resource Bundle存放的ServletContext對象中時采用的屬性Key,默認由Globals.MESSAGES_KEY定義的字符串常量,只允許一個Resource Bundle采用默認的屬性Key。
  4. null:指定MessageSources類如何處理未知消息的key,如果為true,則返回空字符串,如果為false,則返回相關字串,默認為false
  5. prameter:指定MessageSources的資源文件名,如果為:a.b.ApplicationResources,則實際對應的文件路徑為:WEB-INF/classes/a/b/ApplicationResources.properties.
如:
<message-resources null="false" parameter="defaultResource"/>
<message-resources key="num1" null="false" parameter="test"/>
訪問為:
<bean:message? key="zxj"/>
<bean:message? key="zxj"? bundle="num1"/>
其中,zxj表法,messagesource資源文件中的一個字符串。

?8. plugin-in元素
  配置Struts的插件,屬性如下:
  1.?className:指定的Struts插件類,必須實現(xiàn)org.apache.struts.action.PlugiIn接口。如:
<plug-in
  className="a.b.c.">
  <set-property property="xxx" value="/WEB-INF/aa.xml"??/>
</plug-in>

?后記,多模塊的配置,可以供多個應用應用不同的struts-config.xml

?

伊峰 2006-10-11 10:49 發(fā)表評論
]]>
使用validate驗證框架http://www.aygfsteel.com/yifeng661/articles/71608.html伊峰伊峰Sun, 24 Sep 2006 14:43:00 GMThttp://www.aygfsteel.com/yifeng661/articles/71608.htmlhttp://www.aygfsteel.com/yifeng661/comments/71608.htmlhttp://www.aygfsteel.com/yifeng661/articles/71608.html#Feedback0http://www.aygfsteel.com/yifeng661/comments/commentRss/71608.htmlhttp://www.aygfsteel.com/yifeng661/services/trackbacks/71608.html主要是兩個配置文件和資源文件的修改,然后就是在jsp中輸出驗證的結果

validator-rules.xml是驗證注冊類,用于定義驗證邏輯,它的部分代碼
<validator name="required"
<!—①-->
className="org.apache.struts.util.StrutsValidator"
method="validateRequired"
<!—② -->
methodParams="java.lang.Object,
org.apache.commons.validator.validatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionErrors,
javax.servlet.http.HttpServletRequest"
msg="errors.required">
<!—③ -->
<javascript><![CDATA[
function validateRequired(form) {
var bValid = true;
var focusField = null;
var i = 0;
var fields = new Array();


這個是required驗證的部分代碼。

validation.xml文件用于定義實際應用中的規(guī)則驗證(哪些域需要驗證,要驗證哪些驗證(比如required驗證、minlength驗證等等))

ApplicationResources文件主要是用于保存驗證結果信息

我用的是eclipse+myeclipse
首先要在項目里面加入struts框架,這個不用說了吧,然后添加一個validation.xml文件

<form-validation>
?<formset>
??<form name="RegisterForm">
???<field property="userName" depends="required,minlength,maxlength">
????<arg0 key="label.username" />
????<arg1 name="minlength" key="3" resource="false" />
????<arg1 name="maxlength" key="17" resource="false" />
????<var>
?????? <var-name>minlength</var-name>
?????? <var-value>3</var-value>
????</var>
??? <var>
????? ?<var-name>maxlength</var-name>
????? ?<var-value>17</var-value>
???? </var>
???</field>
?</form>
?</formset>
</form-validation>

form name="RegisterForm指定驗證名,也是actionform的名稱,后面會用到。

field property="userName指定要驗證的域,也就是actionform中的屬性

depends="required,minlength,maxlength指定要通過哪些驗證,這里有required,minlength,maxlength驗證,他們依次進行驗證,如果前面的驗證沒有通過,那么錯誤信息就保存到錯誤變量里面,不在進行下面的驗證

arg0 key="label.username則是在資源ApplicationResources文件中定義的字段,驗證結果中信息顯示需要。
如errors.required={0} is required,arg0的值會代替{0},是第一個變量
arg1 name="minlength" key="3" resource="false" ,是第二個變量,但要注意的是 resource="false" ,表示它直接采用key屬性所指定的值3去代替{1},而不使用ApplicationResources文件中定義的字段,下面有對minlength的定義
? <var>
?????? <var-name>minlength</var-name>
?????? <var-value>3</var-value>
????</var>

這些定義完之后,就是對資源文件的修改了,就是指定字段的替換

最后在jsp文件中運用驗證,簡單的一段代碼:

<td width="219" height="30" align="right">
????<font size="2">
?????<b>
??????<bean:message key="label.username" />
??????:
?????</b>
????</font>
???</td>
???<td width="218" height="30">
????<html:text property="userName" maxlength="17" size="20" styleClass="smallInput" />
????<font color="red">
?????*
????</font>
???</td>
???<td width="291" height="30">
????<font size="2" color="red">
?????<b>
??????<html:messages id="message" property="userName">
???????<li>
????????<bean:write name="message" />
???????</li>
??????</html:messages>
?????</b>
????</font>
???</td>
??</tr>
紅色部分就是進行驗證后的信息顯示,其中藍色的部分名稱要與validation.xml文件中的保持一致!??!



伊峰 2006-09-24 22:43 發(fā)表評論
]]>
Structs - 標簽庫(HTML)http://www.aygfsteel.com/yifeng661/articles/71600.html伊峰伊峰Sun, 24 Sep 2006 13:52:00 GMThttp://www.aygfsteel.com/yifeng661/articles/71600.htmlhttp://www.aygfsteel.com/yifeng661/comments/71600.htmlhttp://www.aygfsteel.com/yifeng661/articles/71600.html#Feedback0http://www.aygfsteel.com/yifeng661/comments/commentRss/71600.htmlhttp://www.aygfsteel.com/yifeng661/services/trackbacks/71600.html

??? Structs - 標簽庫(HTML)

Struts提供了五個標簽庫,即:HTML、Bean、Logic、Template和Nested。

?標簽庫

?說明

?HTML 標簽 ?用來創(chuàng)建能夠和Struts 框架和其他相應的HTML 標簽交互的HTML 輸入表單
?Bean 標簽 ?在訪問JavaBeans 及其屬性,以及定義一個新的bean 時使用
?Logic 標簽 ?管理條件產(chǎn)生的輸出和對象集產(chǎn)生的循環(huán)
?Template 標簽 ?隨著Tiles框架包的出現(xiàn),此標記已開始減少使用
?Nested 標簽 ?增強對其他的Struts 標簽的嵌套使用的能力
標簽的公共特征
使用固定屬性名稱的Struts 標簽:

?屬性

?說明

?id ?命名自定義標簽創(chuàng)建時的腳本變量名。
?name ?指出關鍵字值,在該關鍵字下可以找到一個存在的bean 。如果給出了scope屬性,則僅僅在scope中查找。否則,根據(jù)標準的順序在各種scope中查找:(page, request, session, or application)。
?property ?指出bean 中的某個屬性,可以在其中檢索值。如果沒有標明,則使用對象本身的值。
?scope ?定義了Bean在哪個范圍(page, request, session, or application)中被查找。如果沒有標明按順序查找。腳本變量(見id)將在相同的范圍中創(chuàng)建。
Struts 標簽也支持嵌套引用,例如:
Property="foo.bar.baz"

這相當于進行下面的調(diào)用:
getFoo().getBar().getBaz();

或者做為setter:
getFoo().getBar().setBaz(value);
雖然Struts 標簽的設計原意是為了避免使用scriptlet,scriptlet的表達式還能夠提供給所有的Struts 標簽使用。但請確保使用完整的表達式:
?錯誤:
?<html:link href="'<%= "/" + name %>/index.jsp>'>
?
?正確:
?<html:link href="'<%= "/" + name + "/index.jsp" %>'>??? // 表達式必須提供整個屬性值
Html 標簽庫
  1. <html>標簽
    它有兩個屬性:locale和xhtml,兩者都不是必需的。
    ?<html:html?locale=\"true\">

    ?此行代碼解析后:
    ?<html?lang=\"en\">
    說明:生成的結果取決于Struts應用程序所位于的服務器的locale。如果你將應用程序部署到一個不同locale的服務器,你不需要改變代碼,Locale會自動調(diào)整。
  2. <base>標簽:表示所包含頁面的絕對位置。這個標簽只有內(nèi)嵌在head標簽中才有效。
    ?<html:base/>

    ?此行代碼解析后:
    ?<base?href=\"http://www.mymain.com/myStrutsApp/testing.jsp\">
  3. <img>標簽
    最重要的屬性page:圖象文件的路徑,前面必須帶有一個斜線。
    其它屬性:heignt、width、alt。
    ??<html:img?page=\"/logo.gif\"?height=\"50\"? width=\"200\"?alt=\"Web?Logo\"/>
  4. <link>標簽
    ?<html:link?page=\"/index.html\">Click?demo</html:link>

    ?此行代碼解析后:
    ??<a?href=\"/index.html\">Click?demo</a>
  5. <errors>標簽:通過一個簡單的<html:errors/>標簽,你就可以在一個JSP頁面上顯示完全自定義的錯誤信息。功能超強大?。?br />說明:這個標簽在Request對象的屬性集合中查找reserved?key。如果它找到一個reserved?key,它就假設這個key是一個String、或是一個String數(shù)組??
    ????? ? (它包含在模塊的MessageResources中查找的message?keys)、或是類型為org.apache.struts.action.ActionErrors的一個對象。
    ???????? ?如果在應用程序資源中存在相應的信息,那么就可以用下面這些可選的message?keys:??
    ??????? ?·?errors.header??or? errors.prefix:相應的信息在錯誤信息的單獨列表前顯示。?
    ??????? ?·?errors.footer or? errors.suffix:相應的信息在錯誤信息的單獨列表后顯示。
  6. <form>標簽系列
    使用<form>標簽時必須遵循一些規(guī)則:
    1. 標簽中必須包含一個action屬性,它是這個標簽中唯一必需的屬性。如果不具備該屬性則JSP頁面會拋出一個異常。之后你必須給這個action屬性指定一個有效值。一個有效值是指應用程序的Struts配置文件中元素里的任何一個子元素的訪問路徑。而且相應的元素中必須有一個name屬性,它的值是form?bean的名稱。
      ?<html:form?action=\"/login\"?>?

      ?如果你有上述一個標簽?,那么你的Struts配置文件的元素中必須有一個如下顯示為粗體的元素:?
      <action-mappings>?
      ?????<action?path=\"/login\"?
      ??????type=\"com.javapro.struts.LoginAction\"??
      ??????name=\"loginForm\"
      ??????scope=\"request\"
      ??????input=\"/login.jsp\">
      ??????<forward?name=\"success\"?path=\"/mainMenu.jsp\"/>
      ????</action>
      ????.
      ????.
      ????.
      </action-mappings>? // 這就是說一個form標簽是和form?bean相關聯(lián)的。

    2. 任何包含在<form>中用來接收用戶輸入的標簽(<text>、<password>、<hidden>、<textarea>、<radio>、<checkbox>、<select>)必須在相關的form?bean中有一個指定的屬性值。比如,如果你有一個屬性值被指定為“username”的<text>標簽,那么相關的form?bean中也必須有一個名為“username”的屬性。輸入<text>標簽中的值會被用于生成form?bean的userName屬性。

    <form>標簽還有一些不是必須但很有用的“次要”屬性。
    比如,你可以用focus屬性來生成JavaScript,它會“定焦”(focus)到該form所包含的一個元素上。使用focus屬性時你需要給它指定元素的名稱。
    ?<body>
    ?<html:form?action=\"/login\"?focus=\"password\">
    ?User?Name:?<html:text?property=\"userName\"/>
    ?<br>Password:?<html:text?property=\"password\"/>
    ?<br><html:submit/>
    ?</html:form>
    ?</body>

    ?代碼解析后:
    ?<body>
    ?<form?name=\"loginForm\"?method=\"post\"? action=\"/myStrutsApp/login.do\">
    ?User?Name:?<input?type=\"text\"?name=\"userName\"? value=\"\">
    ?<br>Password:?<input?type=\"text\"? name=\"password\"?value=\"\">
    ?<br><input?type=\"submit\"? ?value=\"Submit\">
    ?</form>
    ?<script?language=\"JavaScript\"? type=\"text/javascript\">
    ??<!--
    ? if?(document.forms[\"loginForm\"].elements[\"password\"].type?!=?\"hidden\")?
    ?????? document.forms[\"loginForm\"].elements[\"password\"].focus()
    ??//?-->
    ?</script>

    ?</body>
    有沒有看到這個標簽庫是如何建立JavaScript來定焦到password元素上的??這也是該庫讓人著迷的地方之一。你不用擔心如何在客戶端進行編程,它會幫你自動生成。
    還可以看到,<form>標簽中method屬性的缺省值是POST。

    <text>標簽、<hidden>標簽、<textarea>標簽、<radio>標簽、<checkbox>標簽、<submit>標簽、<reset>標簽:
    都有一個property屬性,最后會被轉換成HTML中的name屬性,當然還有name和value屬性。

    <password>標簽
    ??<html:password?property=\"password\"??redisplay=\"false\"/>
    該標簽中的一個很重要的屬性是"redisplay",它用于重新顯示以前輸入到這個區(qū)域中的值。該屬性的缺省值為true。然而,為了使password不能被重新顯示,你或許希望將該屬性的值設為false。

    <select>標簽和<option>標簽:?
    ?<html:select?property=\"color\"?size=\"3\">
    ??<html:option?value=\"r\">red</html:option>
    ??<html:option?value=?\"g\">green</html:option>
    ??<html:option?value=?\"b\">blue</html:option>
    ?</html:select>

遺補:1.)<html:link>標簽

forward屬性:鏈接到一個global forward上;action屬性:鏈接到一個action mapping上;
href屬性:這個鏈接會轉發(fā)給控制器,由控制器做決定;page屬性:一個相對的鏈接。

用page屬性鏈接到action上:

??<html:link page="/html-link.do">
?? Linking with the page attribute.
?</html:link>

注意,上面的代碼中你不必指定web的關聯(lián)。相反的,如果你使用href屬性,你就必須像下面所示指出web的關聯(lián)(這里的關聯(lián)就是struts-exercise):
?<html:link href="/struts-exercise-taglib/html-link.do">
?? Using Href
?</html:link>

很明顯,當你在相同的web應用程序中做鏈接是,它比page屬性更加好。你也能用href在不同的服務器上創(chuàng)建鏈接:
?<html:link href="http://otherserver/strutsTut/html-link.do">
? Using Href
?</html:link>

另一種鏈接到html-link.do的方法是用action屬性:
?<html:link action="/html-link">
? Using Action attribute
?</html:link>

你也可以以硬編碼的方式使用參數(shù):
?<html:link page="/htmllink.do?doubleProp=3.3&amp;longProp=32">
?? Double and long via hard coded changes
?</html:link>

或者使用paramId, paramName, and paramProperty屬性:
?<html:link page="/html-link.do" paramId="booleanProperty" paramName="testbean"
?? paramProperty="nested.booleanProperty">
?? Boolean via paramId, paramName, and paramValue
</html:link>

解析后的代碼:
?<a href="/struts-exercise-taglib/html-link.do?booleanProperty=false">
??? Boolean via paramId, paramName, and paramValue
?</a>

另外,還能使用帶name屬性的Map來實現(xiàn)傳遞多個參數(shù):
?<%
java.util.HashMap newValues = new java.util.HashMap();
newValues.put("floatProperty", new Float(444.0));
newValues.put("intProperty", new Integer(555));
newValues.put("stringArray", new String[]
{ "Value 1", "Value 2", "Value 3" });
pageContext.setAttribute("newValues", newValues);
%>
...
?<html:link action="/html-link" name="newValues">
??? Float, int, and stringArray via name (Map)
?</html:link>

你也能夠鏈接到Map類型的action上,上面的代碼解析后的結果:
?<html:messages property="property2" message="true" id="msg" header="messages.header" footer="messages.footer">
?<tr><td><%= pageContext.getAttribute("msg") %></td></tr>
?</html:messages>

2.) select和option標簽
<html:select> 的屬性:property-與ActionForm中的某個屬性對應;size-顯示option的數(shù)目;multiple-默認為fales,表示不能多選,當設定為true時,property對應的ActionForm的屬性必須為數(shù)組。
<html:select property="name" size=6 multiple="true">
<html:option>的屬性:key、local、bundle-指定Resource Bundle中的內(nèi)容。
例如 <html:option value="color1">Orange</html:option>
<html:option value="color1" bundle="htmlselect.Colors" key="htmlselect.red"/>
它和配置文件中的<message-resources>元素的key屬性匹配 --> <message-resource parmeter="HtmlSelectColors" key="htmlselect.Colors"/>
<message-resource>中配置的資源文件為HtmlSelectColors.properties,相關內(nèi)容為 htmlselect.red=RED
<html:options>標簽,提供了一組<option>元素,在<html:select>元素中可以包含多個<html:options>元素。非常靈活,可以取得集合或數(shù)組中的值。
例1 <html:options collection="coll" property="value" labelProperty="label" /> 這指在coll的集合中存放了options,value指實際能被提交的值,label是顯示給用戶的值。
例2 <html:options property="value" labelProperty="label" /> collection屬性不被指定時,將使用表單相關的form bean,form bean中value屬性存放option value,label屬性值顯示給用戶。
例3 <html:options name="valueBean" property="values" labelName="labelsBean" labelProperty="labels" /> 這個意思是value值存放在名為valueBean的bean的vlaues屬性中,它是一個collection;label值也是同樣的意思。
<html:optionsCollection>標簽,和<html:options>的用法很相似。
例如 <html:select property="custId"><html:optionsCollection property="customers" label="name" value="custId" /></html:select>
這個標簽和org.apache.structs.util.LabelValueBean結合的很好,如果把label和value都放到這個對象中,可以很簡單的這樣應用:
<html:select property="custId"><html:optionsCollection property="customers" /></html:select>



<html:messages>的message屬性如果不設定為true,會輸出ActionErrors中所儲存的訊息,Error代表的是一個操作方面的錯誤,例如錯誤操作導致使用者名稱或密碼為空(當然也許也是故意的)。

<html:messages>的message屬性如果設定為true,會輸出ActionMessages中所儲存的訊息, Message表示一個提示訊息,也許使用者輸入了不正確的資訊,例如在輸入名稱與密碼時打錯了字,程式要提示使用者他們輸入了不正確的訊息。



伊峰 2006-09-24 21:52 發(fā)表評論
]]>
主站蜘蛛池模板: 都兰县| 信阳市| 牙克石市| 鹤岗市| 秭归县| 南昌县| 铜山县| 金塔县| 个旧市| 石家庄市| 阳朔县| 富阳市| 瓮安县| 沁源县| 建湖县| 安庆市| 枣庄市| 资溪县| 内乡县| 城固县| 渭南市| 遵化市| 天津市| 顺平县| 巴楚县| 沙田区| 六枝特区| 全州县| 白城市| 手游| 海原县| 拜泉县| 西宁市| 方城县| 启东市| 平南县| 鸡泽县| 广丰县| 开远市| 黄大仙区| 长泰县|