標簽及其子標簽。因此,在本文將介紹一下及其常用子標簽的用法。一、HTML標簽庫中的常用標簽1.標簽標簽對應于HTML
標簽。用于向服務端提交用戶輸入信" />

欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Struts1.x系列教程(5):HTML標簽庫

系統 1848 0

本文為原創,如需轉載,請注明作者和出處,謝謝!

Struts 2 系列教程》


上一篇: Struts1.x系列教程(4):標簽庫概述與安裝

HTML標簽庫中的標簽基本上都是和HTML Tag一一對應的。但我們經常使用的主要是<html:form>標簽及其子標簽。因此,在本文將介紹一下<html:form>及其常用子標簽的用法。

一、HTML標簽庫中的常用標簽

1. <html:form>標簽

<html:form>標簽對應于HTML<form>標簽。用于向服務端提交用戶輸入信息。<html:form>標簽和HTML<form>標簽在使用方法上基本相同,但它們的一個重要的區別是<html:form>標簽的action屬性值所指的Struts動作在struts-config.xml中必須正確配置,否則<html:form>標簽會因為未找到Struts動作而拋出異常,從頁使JSP頁面無法正常運行,而HTML<form>無論action屬性的值所指的URL是否正確(或Struts動作是否在struts-config.xml中正確配置),都會正常顯示。<html:form>標簽的基本用法如下:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> < html:form action ="Struts動作" method ="get/post" >

2. <html:text>標簽

<html:text>標簽是最常用的HTML標簽,它對應于type屬性值為“text”的HTML<input>標簽。每一個和HTML Tags對應的HTML標簽都有一個property屬性,<html:text>標簽也不例外。這個屬性用于和ActionForm的子類對象實例綁定,也就是說,property屬性的值必須和ActionForm子類中相應的屬性擁有同樣的名子。如果property屬性的值在ActionForm子類中未找到相應的屬性名,該HTML標簽就會由于拋出異常而使JSP頁面無法正常顯示。<html:text>標簽的基本用法如下:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> < html:text property ="name" />

<html:text> 標簽的其他屬性(如 size 屬性)和 <input type=”text” ... /> 標簽的相應屬性使用方法完全一致。

3.<html:radio> 標簽

<html:radio>
標簽對應于 type 屬性值為“ radio ”的 HTML<input> 標簽。如果 ActionForm 子類的某個屬性有多個可枚舉的選擇值(如性別為“男”、“女”),就可以使用 <html:radio> 來采集用戶的輸入信息。每一個可能的值對應一個 <html:radio> 標簽,如性別選項對應兩個 <html:radio> 標簽,代碼如下:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> < html:radio property ="sex" value ="1" />
< html:radio property ="sex" value ="2" />

其中兩個<html:radio>標簽中的property屬性值必須都為“sex”,每個value表示選中當前選項后,提交給服務端的值,也就是通過ActionForm的子類實例對象的相應屬性可以獲得的值。

4.<html:checkbox>
標簽

<html:checkbox> 標簽對應于 type 屬性值為“ checkbox ”的 HTML<input> 標簽。 <html:checkbox> 標簽的基本用法如下:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> < html:checkbox property ="student" value ="true" />


其中
value 屬性表示當勾選這個復選框時提交給服務端的值。


5. <html:multibox>標簽


<html:multibox>標簽實際上也對應于type屬性值為“checkbox”的HTML<input>標簽。但<html:multibox>和<html:checkbox>在映射到ActionForm子類實例對象的相應屬性的映射方式不同。所有property屬性值相同的<html:multibox>標簽被映射到同一個property所指的屬性中,并且這個屬性是一個數組類型。而<html:checkbox>標簽只對應了一個值。<html:multibox>標簽的基本用法如下:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> 上網 < html:multibox property ="hobbies" value ="上網" />
旅游
< html:multibox property ="hobbies" value ="旅游" />
足球
< html:multibox property ="hobbies" value ="足球" />
圍棋
< html:multibox property ="hobbies" value ="圍棋" />


其中 value 屬性表示選中當前復選框的返回值。

6.<html:select> <html:option> 標簽

<html:select> <html:option> 組合對應了 HTML 中的 <select> <option> 組合。這兩個標簽的基本用法如下:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> < html:select property ="work" >
< html:option value ="軟件工程師" />
< html:option value ="軟件測試工程師" />
< html:option value ="項目經理" />
< html:option value ="高級顧問" />
< html:option value ="其他" />
</ html:select >


其中 value 屬性表示在下拉列表框中選擇某一項時向服務端提交的值。

7. <html:submit>和<html:reset>標簽

這兩個HTML標簽分別對應了type為“submit”和“reset”的HTML<input>標簽。它們的基本用法如下:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> < html:submit value ="提交" />
< html:reset value ="重置" />


其中 value 屬性表示在按鈕上顯示的信息。

8.. 其他的 HTML 標簽

HTML 標簽庫中還有很多其他的標簽。關于這些標簽的詳細信息讀者可以參閱 Struts 的官方網站, URL 如下:


http://struts.apache.org/1.2.9/userGuide/struts-html.html

二、 HTML 標簽庫演示實例

在本文給出了一個完整的例子來演示如何通過 HTML 標簽來展現用戶界面,以及如何從由 HTML 標簽生成的界面中獲取用戶提交的信息。實現這個例子需要如下四步:

【第 1 步】 建立使用 HTML 標簽的 JSP 頁面

<samples 工程目錄 > 中建立一個 htmlTags.jsp 文件,并輸入如下的內容:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> <% @pagepageEncoding = " GBK " %>
<% @tagliburi = " http://struts.apache.org/tags-html " prefix = " html " %>
< html >
< head >
< title > HTML標簽庫演示 </ title >
</ head >
< body >
< html:form action ="htmlTags" method ="post" >
姓名:
< html:text property ="name" /> < p />
性別:男
< html:radio property ="sex" value ="1" />
< html:radio property ="sex" value ="2" /> < p />
學生:
< html:checkbox property ="student" value ="true" /> < p />
愛好:上網
< html:multibox property ="hobbies" value ="上網" /> &nbsp;
旅游
< html:multibox property ="hobbies" value ="旅游" /> &nbsp;
足球
< html:multibox property ="hobbies" value ="足球" /> &nbsp;
圍棋
< html:multibox property ="hobbies" value ="圍棋" /> < p />
職業:
< html:select property ="work" >
< html:option value ="" />
< html:option value ="軟件工程師" />
< html:option value ="軟件測試工程師" />
< html:option value ="項目經理" />
< html:option value ="高級顧問" />
< html:option value ="其他" />
</ html:select >
< p />
< html:submit value ="提交" /> &nbsp;&nbsp;&nbsp; < html:reset value ="重置" />
</ html:form >
</ body >
</ html >


現在 htmlTags.jsp 還運行不了,因為 htmlTags 動作并沒有在 struts-config.xml 中配置。下面我們先在 struts-config.xml 中配置一下這個 htmlTags 動作和相應的 ActionForm 的子類。

【第 2 步】 配置 ActionForm 子類和 htmlTags 動作

打開 struts-config.xml ,在 <form-beans> 中加入如下的 <form-bean> 標簽:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> < form-bean name ="htmlTagsForm" type ="actionform.HtmlTagsForm" />


然后在 <action-mappings> 中加入如下的 <action> 標簽:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> < action name ="htmlTagsForm" path ="/htmlTags" scope ="request" type ="action.HtmlTagsAction" />


我們從上面兩段配置代碼可以看出, ActionForm 的子類為 HtmlTagsForm ,動作類為 HtmlTagsAction ,下面我們就來建立這兩個類。

【第 3 步】 實現 HtmlTagsForm

在本例中, HtmlTagsForm 類只含有用于接收用戶提交的信息的屬性,除此之外,并未在這個類中做其他的事(如驗證數據)。在 <samples 工程目錄 >"src" actionform 目錄中建立一個 HtmlTagsForm.java 文件,并輸入如下的代碼:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> package actionform;

import org.apache.struts.action. * ;
public class HtmlTagsForm extends ActionForm
{
private Stringname;
private Stringsex;
private Booleanstudent;
private String[]hobbies;
private Stringwork;
public StringgetWork()
{
return work;
}
public void setWork(Stringwork)
{
this .work = work;
}
public String[]getHobbies()
{
return hobbies;
}
public void setHobbies(String[]hobbies)
{
this .hobbies = hobbies;
}
public StringgetName()
{
return name;
}
public StringgetSex()
{
return sex;
}
public void setSex(Stringsex)
{
this .sex = sex;
}
public void setName(Stringname)
{
this .name = name;
}
public BooleangetStudent()
{
return student;
}
public void setStudent(Booleanstudent)
{
this .student = student;
}
}


【第
4 步】 建立 HtmlTagsAction

HtmlTagsAction
類的主要功能是通過 HtmlTagsForm 類的實例對象讀取用戶提交的信息,并將它們輸出的客戶端瀏覽器。在 <samples 工程目錄 >"src"action 目錄中建立一個 HtmlTagsAction.java 文件,并輸入如下的代碼。

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> package action;

import javax.servlet.http. * ;
import org.apache.struts.action. * ;
import java.io. * ;
import actionform.HtmlTagsForm;

public class HtmlTagsAction extends Action
{
public ActionForwardexecute(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
{
HtmlTagsFormhtForm
= (HtmlTagsForm)form;
try
{
response.setCharacterEncoding(
" GB2312 " );
PrintWriterout
= response.getWriter();
out.println(
" 姓名: " + htForm.getName() + " <p/> " );
if (htForm.getSex() != null )
out.println(
" 性別: " + (htForm.getSex().equals( " 1 " ) ? " " : " " ) + " <p/> " );
out.println(
" 學生: " + (htForm.getStudent() == null ? " " : " " ) + " <p/> " );
if (htForm.getHobbies() != null )
{
out.println(
" 愛好: " );
for (Stringhobby:htForm.getHobbies())
out.println(hobby
+ " " );
out.println(
" <p/> " );
}
if (htForm.getWork() != null )
out.println(
" 職業: " + htForm.getWork());
}
catch (Exceptione)
{
}
return null ;
}
}

啟動 Tomcat ,并在 IE 中輸入如下的 URL

http://localhost:8080/samples/htmlTags.jsp

在出現用戶界面后,輸入如圖1所示的信息。



圖1

在點擊“提交”按鈕后,將顯示如圖 2 所示的頁面。



圖2



國內最棒的Google Android技術社區(eoeandroid),歡迎訪問!

《銀河系列原創教程》 發布

《Java Web開發速學寶典》 出版,歡迎定購

Struts1.x系列教程(5):HTML標簽庫


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产欧美日韩免费 | 91精品啪国产在线观看免费牛牛 | 日韩免费| 久久一区二区三区不卡 | 嫩草影院观看 | 日韩精品中文乱码在线观看 | 日韩亚洲一区中文字幕在线 | 天天做天天爱天天影视综合 | 毛片99| 国产福利视频一区 | 国产喷水视频 | 91视频久久| 久久99精品久久久久久综合 | 色之综合天天综合色天天棕色 | 秋霞久久国产精品电影院 | 久久久久国产精品 | 成人黄色网址 | 成人午夜剧场 | 熟女毛片 | 亚洲欧美综合日韩字幕v在线 | 欧美精品1区2区3区 色精品国产 | 欧美激情一区二区亚洲专区 | 在线日韩欧美 | 亚洲福利网 | 久久午夜精品 | 第四色婷婷墓地 | 国产免费av大片 | 色妞色视频一区二区三区四区 | 欧美不卡 | 人人99 | 国产精品天天天天影视 | 美女污污视频在线观看 | 亚洲精品久久久一区二区三区 | 一级毛片视频播放 | 性夜影院爽黄a爽免费视 | 国产成人福利视频在线观看 | 妖精视频永久在线入口 | 色综合 成人 | 成人av一区二区三区 | 亚洲午夜网站 | 午夜视频久久 |