Strust 学习手札

(一)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&amp;prop2=123">
  Hard-code the url parameters

 </html:link>

 <html:rewrite page="/htmlBasic.do?prop1=abc&amp;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")"/>


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Pike_Jun

随缘结缘可种善根得福报

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值