Strust 学习手札

    技术2022-05-11  91

    (一)Struts HTML标签简介:<html:html> 渲染HTML<html>元素

    eg:      <html:html locale="true">        该页面将根据客户端浏览器提交的Accept-Language头部,来设置它的locale值.

    <html:base> 渲染HTML<base>元素  <base>这个HTML元素可用来帮助浏览器正确的组成路径.   在本例中,我们的<html:base />标记输出如下的HTML:    <base href="http://localhost:8080/StrutsTaglibs/HtmlBasec.jsp">eg:

    <head><html:base /></head>

    <html:link> 渲染HTML锚点标记<a>元素

    eg:

     <html:link forward="index">    Link to Global ActionForward </html:link>

     <html:link href="http://www.126.com">  Link to you Email Address. </html:link>

     <html:link page="/lh/supervise/aj/risk/QueryAction.TJ">  A relative link from this page </html:link>

    <html:rewrite> 仅渲染<html:link>标记中的URI部分

     <html:link page="/HtmlBasec.do?prop1=abc&prop2=123">  Hard-code the url parameters

     </html:link>

     <html:rewrite page="/htmlBasic.do?prop1=abc&prop2=123"> <html:img> 渲染HTML<img>元素

    eg:

       <html:img page="/struts-power.gif" />

       <html:img src="/StrutsTaglibs/struts-power.gif" paramId="urlParamName" paramName="pageAttribute1" />      <html:img page="/struts-power.gif" name="map" />

    <html:form> 渲染HTML<form>元素eg:   <html:form action="/lh/supervise/aj/risk/QueryAction.TJ">产生的HTML<form>标记为: <form: name="FormBasicsForm" method="POST" action="/lh/supervise/aj/risk/QueryAction.TJ">

    <html:text> 在表单中放置文本框.eg:  <html:text property="propertyname" disabled="true" />

    <html:hidden> 在表单中放置隐藏类型的INPUT元素.eg: <html:hidden property="secendid" write="true" />

    <html:submit> 在表单中放置提交的INPUT元素.eg: <html:submit> Submit</html:submit>      产生的HTML<form>标记为:

     <input type="submit" name="submit" value="Submit">

    <html:cacel>  在表单中放置取消的INPUT元素.eg: <html:cancel>Cancel</html:cancel>     产生的HTML<form>标记为:

     <input type="submit" name="org.apache.struts.taglib.html.cancel" value="Cancel">

    <html:reset>  在表单中放置复位的INPUT元素.eg: <html:reset>Reset</html:reset>       产生的HTML<form>标记为:  <input type="reset" name="reset" value="Reset">

    <html:chechbox> --在表单中防止复选框.<html:multibox>--在表单中放置复选框.<html:radio>--在表单中放置单选按钮.

    eg: <table>  <tr>   <td align="left">   Checkbox 1:<html:checkbox property="checkbox1"/>   </td>   <td>   Checkbox 2:<html:checkbox property="checkbox2"/>   </td>

      </tr>

      <tr>   <td align="left">   MultiBox1:<html:multibox property="strArray" value="Value1" />   </td>

       <td align="left">   MultiBox2:<html:multibox property="strArray"> value2</html:multibox>   </td>

      </tr>

      <tr>   <td align="left">                        <html:radio property="radioVal" value="V1">Radio Button 1   </td>   <td align="left">   <html:radio property="radioVal" value="V2">Radio Button 2   </td>

      </tr>

      <tr>   <td>   </td>   <td>   </td>

      </tr> </table>为了使用这三类控件我们在JSP表单BEAN中如下定义:eg:public class CheckboxRadioForm extends ActionForm{public CheckboxRadioForm(){}

     private boolean checkbox1; public boolean getCheckbox1(){return this.checkbox1;} public void setCheckbox1(boolean checkbox1){this.checkbox1=checkbox1;}

     private boolean checkbox2; public boolean getCheckbox2(){return this.checkbox2;} public void setCheckbox2(boolean checkbox2){this.checkbox2=checkbox2;}

     private String strArray[]=new String[0]; public String[] getStrArray(){return (this.strArray);} public void setStrArrray(String strArray[]){this.strArray=strArray;}

            private String radioVal=""; public String getRadioVal(){return (this.radioval);} public void setRadioVal(String radioVal{this.radioVal=radioVal;})  public void reset(ActionMapping mapping,HttpServletRequest request) {  this.setCheckbox1(false);    this.strArray=new String[0];  this.radioVal=""; }}

    </html:chechbox> --在表单中防止复选框.</html:multibox>--在表单中放置复选框.</html:radio>--在表单中放置单选按钮.

    下拉和选取/选项列表 <html:select> --渲染HTML<select>下拉或多选元素eg:

     <html:select property="a_custID"> <html:optionsCollection property="customers" label="name" value="custId" /> </html:select>

     <html:select property="colors" size="6" multiple="true"> <html:option value="orange">Orange</html:option> <html:option value="ch12.purple" value="Purple" /> <html:option value="ch12.red" bundle="ch12.Colors" key="ch12.red" /> <html:option value="ch12.blue" bundle="ch12.Colors" key="ch12.blue" />

     <html:options collection="colorCollection" property="value" labelProperty="labe1" /> </html:select><html:option> --在<select>元素内部定义单独的<option>元素<html:options> --在<select>元素内部定义一个或多个的<option>元素<html:optionsCollection> --基于collection在<select>元素内定义一个或者多个<option>元素.

    <html:select property="custId">property 属性定义了该元素所连接的表单BEAN属性.当页面被显示时,该属性值将变为初始值并显示为选定状态.

    <html:option>标记的显示值来自下面的两个部分:1,在<html:option>和</html:option>标记之间的值.2,在属性文件(资源包)中的值,由key,locale和<html:option>标记的bundle属性指定.eg:   <html:option value="ch12.orange">Orange</html:option>   <html:option value="ch12.red" bundle="ch12.Colors" key="ch12.red" />

    <html:options>

    <html:options collection="coll" property="value" labelProperty="label" />:一个名为values的表单Bean保存了这些选项值的集合对象.一个名为labels的表单Bean属性保存了显示给用户的选项标记的集合.

    <html:options name=" valuBeanname " property="values" labelNmae="labelsBean" labelProperty="labels" />:值是保存在一个名为valuBeanname 的Bean中叫做values的属性中.

    <html:select property="custId">     <html:optionsCollection property="customers" label="name" value="custId" /></html:select>

    <html:errors>

    <td><html:checkbox property="checkbox1" /></td><td><html:errors property="checkbox1" bundle="ch12.HtmlErrors" /></td>

    172.19.10.2:6888...................................................................................................................... Struts Bean 标记:保存与传输数据

    <bean:define >--基于属性定义局部变量<bean:write  >--显示Bean中的值.<bean:size   >--得到映射或集合的大小.//Struts:logic 标记.<logic:equal><logic:greaterEqual><logic:greaterThan><logic:lessEqual><logic:notEqual><logic:match><logic:notMatch><logic:iterate><logic:empty><logic:messagesPresent><logic:notPresent><logic:present>

     

     

    The value can be any "RT Expression" you can do the following <bean:define id="fullname" name="person" propery="fullname"/> <html:button property="page1.next" value="<%=fullname%>" />

     

    <html:html>

    用於產生HTML <html>標籤,如果locale屬性設定為true,而session中有Locale物件的話,則會寫出其區域訊息。使用範例:

    <html:html locale="true"> .... </html:html>

    <html:base>

    產生一個HTML <base>標籤,根據所在頁面的URL為基底,當頁面中有相對的URL指定時,是以<base>標籤為參考,這個標籤必須位於 <head>與</head>之間,例如:

    .... <html> <head>     <html:base/> </head> ..... </html>

    <html:link>

    設定超連結,常用屬性如下:

    href: 絕對超連結URL forward: 指定forward的目標 page: 使用相對於Context的路徑來指定連結 anchor: 書籤錨點,例如#abc,不過使用這個標籤時不用加#

    使用範例:

    <html:link href="http://www.caterpillar.onlyfun.net/"/>

    <html:img>

    顯示圖片,常用屬性如下:

    src: 圖片URL page: 圖片相對於Context的路徑 alt: 替代文字 align: 文繞圖設定 border: 框線寬度 height: 圖片高度 width: 圖片寬度 hspace: 圖片與文字的橫向間距 vspace: 圖片與文字的垂直間距

    使用範例:

    <html:img page="/images/wiki.jpg" alt="caterpillar"/>

    <html:button>

    產生HTML按鈕,常用屬性介紹如下:

    property: 元素名稱 value: 按鈕顯示名稱 title: 按鈕提示文字 onclick: 按下後呼叫的JavaScript程式

    使用例子如下:

    <html:button property="button1" value="按我"         οnclick="alert('Hello!World!')" title="Hello!World!"/>

    <html:cancel>

    其實就是submit按鈕,用法與 <html:submit> 類似,不過按下它後,不會執行 ActionForm 的validate()方法。

    <html:hidden/>

    表單的中隱藏欄位,搭配 <html:form> 使用,使用範例如下:

    <html:form action="/login" focus="name"> <html:hidden property="hid" value="1234"/>     .... <html:submit/> <html:reset/> </html:form>

    <html:textarea>

    表單文字區域,搭配<html:form>使用,常用屬性如下:

    property: 元素名稱 cols: 橫向字數 rows: 縱向行數 value: 顯示的初始文字

    使用範例:

    <html:textarea property="message"         value="在此留言" cols="50" rows="5"/>

    <html:file>

    顯示一個上傳檔案的欄位,搭配<html:form>使用,例如我們可以將 檔案上傳 中的靜態表單改為JSP動態表單,並使用<html:file>:

    <html:form name="uploadForm"         enctype="multipart/form-data"         method="post" action="/strutsapp/upload.do">     <html:file property="file"/><br>     <html:submit value="上傳"/> </html:form>

    <html:radio>

    顯示單選鈕,搭配<html:form>使用,使用範例如下:

    <html:radio property="sex" value="man"/>男 <html:radio property="sex" value="woman"/>女

    <html:checkbox>

    顯示核取方塊,搭配<html:form>使用,使用範例如下:

    <html:checkbox property="lang[0]"         value="Java">Java</html:checkbox> <html:checkbox property="lang[1]"         value="C#">C#</html:checkbox>

    <html:multibox>

    建立核取方塊的另一個方法:

    <html:multibox property="lang"         value="Java">Java</html:multibox> <html:multibox property="lang"         value="C#">C#</html:multibox>

    <html:select>、<html:option>

    建立下拉選單,搭配<html:form>使用,使用範例如下:

    <html:select property="lang" value="Java">     <html:option value="Java">Java</html:option>     <html:option value="C#">C#</html:option> </html:select>

    <html:image>

    建立圖片按鈕,常用屬性如下:

    property: 元素名稱 src: 圖片URL value: 按下圖片時送出的值 border: 框線寬度 onclick: 按下時圖片時呼叫的JavaScript

    使用範例:

    <html:image property="push" src="push.jpg"         οnclick="alter("send")"/>

     

     


    最新回复(0)