鍍金池/ 教程/ Java/ Struts2 表單標簽
設置復選框的默認值
<s:if>, <s:elseIf>, <s:else> 標簽示例
下拉框示例
Struts2 &lt;s:bean&gt;標簽示例
Struts2 &lt;s:date&gt;標簽示例
<s:text>標簽示例
Struts2的ActionError&ActionMessage示例
Struts2 MySQL數(shù)據(jù)庫訪問
Struts2上傳多個文件例子
Struts2+Log4j集成
Struts 2 hello world (XML版本)
Struts2和Spring集成
Struts2 控件標簽
Struts2 和 JSON 實例
Struts2 環(huán)境配置
Struts2 &lt;s:checkboxlist&gt;多個復選框例子
Struts2 注釋類型
在Struts2中配置靜態(tài)參數(shù)
Struts2 驗證框架
Struts2 param 標簽
Struts2 &lt;s:hidden&gt;隱藏值例子
Struts2下載文件實例
Struts2 &lt;sx:autocompleter&gt;自動提示例子
Struts2 action標簽
autocompleter自動完成示例
Struts2 merge標簽
Struts2 &lt;s:action&gt;標簽示例
<s:property>標簽示例
Struts2 &lt;s:sort&gt;標簽示例
Struts2和Hibernate集成
自動選擇下拉框示例
Struts2 結果和結果類型
Struts2 是什么?
如何刪除Struts2動作的后綴擴展名
Struts2 Hello World 實例
<s:action>標簽示例
<s:bean>標簽示例
Struts2 + Quartz調(diào)度集成實例
如何獲取ServletContext對象
Struts2 &lt;s:i18n&gt;標簽示例
Struts2 append標簽
i18n 或本地化示例
autocompleter + JSON 示例
Struts2獲取HttpServletRequest實例
updownselect 示例
Struts2 &lt;s:debug&gt;標簽示例
Struts2重寫攔截器參數(shù)
多個Struts配置文件示例
<s:i18n>標簽示例
Struts2中文本地化問題
文件上傳示例
Struts2 &lt;s:property&gt;標簽實例
Struts2攔截器棧的例子
<s:merge>標簽示例
Struts2 數(shù)據(jù)標簽
Struts2 &lt;s:merge&gt;標簽示例
復選框checkboxes 示例
Struts2 generator標簽
如何配置Struts2全局資源包
key 屬性示例
Struts2 注釋
FilterDispatcher 和 StrutsPrepareAndExecuteFilter區(qū)別?
Struts 2 Hello World (注解版本)
Struts 2 + Log4j 集成實例
Struts2 值棧/OGNL
Struts2配置Action類的靜態(tài)參數(shù)
Struts2 本地化/國際化(i18n)
Chinese 本地化問題
Struts2單選預選按鈕值
Struts2 include標簽
Struts2 + Hibernate 集成實例
配置全局資源包
Struts2 異常處理
Struts2 &lt;s:set&gt;標簽示例
Struts2 &lt;s:doubleselect&gt;示例
Struts2 iterator標簽
optiontransferselect 示例
Struts2映射攔截動作
head 示例
Struts2+Hibernate使用Full Hibernate Plugin集成
Struts2命名空間配置和解釋
<s:param>標簽示例
Struts2+Hibernate集成實例
Struts2 &lt;s:head&gt;示例
Struts2 &lt;s:push&gt;標簽示例
Struts2文件上傳例子
Struts2 &lt;s:param&gt;標簽示例
@ResultPath 注釋示例
Struts2 體系結構
Struts2 execAndWait攔截器例子
Struts2 攔截器
Textarea - 文本域
Struts2教程
<s:push>標簽示例
Struts2 文件上傳
Struts2 date 標簽
Struts2 &lt;s:texttag&gt;標簽示例
Struts2+Quartz2調(diào)度集成實例
Struts2開發(fā)模式
Struts2 autocompleter+JSON例子
Struts2 類型轉換
<s:url>標簽示例
Struts2 Ajax 標簽
Struts2 bean 標簽
<s:iterator>標簽迭代示例
Hidden隱藏值示例
在Struts2獲取HttpServletResponse對象
Struts2 主題和模板
Struts2自動選擇下拉框的值
Struts2下載文件實例
在Struts2中獲取 HttpServletRequest
級聯(lián)選擇示例
Struts2 &lt;sx:datetimepicker&gt;示例
Struts2 include(包含)多個配置文件
Struts2 &lt;s:select&gt;下拉框例子
Struts2 Action/動作
Struts2 &lt;s:textarea&gt;文本域?qū)嵗?/span>
Struts2+Spring集成實例
Struts2 &lt;s:updownselect&gt;示例
Struts2 property 標簽
Struts2 &lt;s:url&gt;標簽示例
Struts2 表單標簽
Struts2資源包使用示例
subset tag example
Struts 2 ActionError &amp; ActionMessage Example
Struts2 MVC架構
Struts2 if/else標簽
Struts2 &lt;s:generator&gt;標簽示例
<s:include>標簽示例
Struts2開發(fā)者模式
<s:generator> 標簽示例
復選框heckbox 示例
Struts2 text 標簽
Radio 單選按鍵示例
Struts2 &lt;s:a&gt;標簽示例
Struts2 key鍵屬性示例
Struts2設置多個復選框缺省值
Struts2 基于XML校驗
Struts2 配置文件
Struts2 &lt;s:radio&gt;單選按鈕例子
Struts2 發(fā)送郵件Email
Struts2獲取HttpServletResponse實例
<s:sort>標簽示例
Struts2 &lt;s:optiontransferselect&gt;示例
Struts2和Tiles集成
Struts2模型驅(qū)動實例
Struts2的FilterDispatcher和StrutsPrepareAndExecuteFilter有什么不同?
<s:append>標簽示例
組合框示例
Struts2 &lt;s:password&gt;密碼示例
datetimepicker 日期選擇
Struts2 &lt;s:iterator&gt;迭代器標簽示例
TextBox文檔示例
Struts2 url標簽
資源包使用示例
Struts2本地化和國際化
Struts2 &lt;s:subset&gt;標簽示例
Struts2 + Hibernate使用“Full Hibernate Plugin"插件集成
Struts2和JSON實例
Struts2注解示例
Struts2 &lt;s:checkbox&gt;復選框例子
Struts2快速入門
<s:date>標簽示例
Struts2 set 標簽
<s:set>標簽示例
Struts2 命名空間配置和解釋
Struts 2 hello world (XML版本)
&nbsp;預選單選按鈕
<s:a>標簽示例
Struts2+Spring+Hibernate集成實例
Struts2 &lt;s:combobox&gt;組合框的例子
Struts2 if,elseif,else標簽示例
Struts2 @ResultPath注釋示例
struts2 &lt;s:append&gt;標簽示例
Struts2 &lt;s:textfield&gt;文本示例
多文件上傳示例
使用Struts2動作
<s:debug>標簽示例
在Struts2中如何獲取ServletContext對象
Struts2 &lt;s:include&gt;標簽示例
Password 示例

Struts2 表單標簽

form 標簽的列表是Struts的UI標簽的一個子集。這些標簽可以幫助渲染中需要Struts Web應用程序和用戶界面可以分為三類。本章將帶你通過所有三種類型的UI標簽:

簡單UI標簽:

我們已經(jīng)使用這些標簽已經(jīng)在我們的例子中。讓我們來看看一個簡單的一些簡單UI標簽的視圖頁面email.jsp:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<s:head/>
<title>Hello World</title>
</head>
<body>
   <s:div>Email Form</s:div>
   <s:text name="Please fill in the form below:" />
   <s:form action="hello" method="post" enctype="multipart/form-data">
   <s:hidden name="secret" value="abracadabra"/>
   <s:textfield key="email.from" name="from" />
   <s:password key="email.password" name="password" />
   <s:textfield key="email.to" name="to" />
   <s:textfield key="email.subject" name="subject" />
   <s:textarea key="email.body" name="email.body" />
   <s:label for="attachment" value="Attachment"/>
   <s:file name="attachment" accept="text/html,text/plain" />
   <s:token />
   <s:submit key="submit" />
   </s:form>
</body>
</html>

如果你是知道的HTML,那么所有使用的標簽是很常見的HTML標簽與一個額外前綴s:隨著每個標簽和不同的屬性。當我們執(zhí)行上面的程序中,我們可以得到以下的用戶界面,只要使用所有鍵設置正確的映射。

Struts Simple UI tags

如圖所示,s:head產(chǎn)生Struts2的應用程序所需的javascript和樣式表元素。

接下來,我們有s:div和s:text元素。s:div被用來渲染HTML DIV元素。這是非常有用的當混合使用HTML和Struts標簽。對于這些人來說,他們有選擇使用s:div來呈現(xiàn)一個div。 

s:text如圖所示用于在屏幕上呈現(xiàn)文本。

接下來我們有s:form標簽。 s:form標簽決定提交表單的action屬性。因為我們有一個文件上傳元素的形式,我們必須設置enctype屬性multipart。否則,我們就可以保留此空白。

在表單標簽的末尾,我們有s:submit標簽。這是用來提交表單。當提交表單時,所有的表單值提交到指定的動作在s:form標簽。

s:form里面,我們有一個隱藏的屬性稱為secret。這使得一個隱藏的元素在HTML中。在我們的案例中,“秘密”的元素值“abracadabra”。此元素向最終用戶是不可見的,并用于承載的狀態(tài)下,從一個視圖。 

接下來,我們有s:label, s:textfield, s:password 和 s:textarea標簽。這些用于呈現(xiàn)標簽,輸入字段,密碼和文本區(qū)域分別。我們所看到的這些動作“Struts - 發(fā)送電子郵件”例子。這里要注意的最重要的事情是使用“key”屬性。 “key”屬性用于獲取這些控件從屬性文件中的標簽。

然后,我們有 s:file標記使得輸入文件上傳組件。該組件允許用戶上傳文件。在這個例子中,我們使用了“accept” 參數(shù)位置s:file 指定允許上傳的文件類型的文件標記。 

最后,我們有s:token 標簽。令牌的標簽,這是用來找出雙提交表單是否已經(jīng)生成一個獨特的標記。

表單呈現(xiàn)時,一個隱藏的變量被放置令牌值。讓我們說,例如令牌是“ABC”。當表單提交時,Struts過濾器會檢查對存儲在會話的令牌令牌。如果匹配,它消除了從會話令牌?,F(xiàn)在,如果意外形式(無論是通過刷新或通過點擊瀏覽器的后退按鈕)重新提交,表單將被重新提交“ABC”作為標記。在這種情況下,過濾器將檢查對再次存儲在會話中的令牌的令牌。但由于令牌“ABC”已經(jīng)從會話中刪除,這將不匹配和Struts的過濾器將拒絕請求。

組 UI 標簽:

組UI標簽被用來創(chuàng)建單選按鈕,復選框。讓我們來看看一個簡單的視圖頁的helloWorld.jsp的復選框和單選按鈕標簽:

<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>Hello World</title>
<s:head />
</head>
<body>
   <s:form action="hello.action">
   <s:radio label="Gender" name="gender" list="{'male','female'}" />
   <s:checkboxlist label="Hobbies" name="hobbies"
   list="{'sports','tv','shopping'}" />
   </s:form>
</body>
</html>

當我們執(zhí)行上述程序的輸出將看起來類似于以下內(nèi)容:

Struts group UI tags

現(xiàn)在讓我們來看看這個例子。在第一個例子中,我們創(chuàng)建了一個簡單的單選按鈕,“Gender”的標簽。單選按鈕標簽的name屬性是強制性的,所以我們指定一個名稱是“Gender”。然后我們提供一個列表的性別。這份名單是填充值“male”和“female”。因此,在輸出中,我們得到了一個單選按鈕,其具有兩個值。

在第二個例子中,我們創(chuàng)建了一個復選框列表。這是收集用戶的愛好。用戶可以有一個以上的愛好,因此,我們所使用的復選框,而不是單選按鈕。該復選框被填充列表"sports", "Tv" 和 "Shopping"。這就提出了一個復選框列表的愛好。

選擇 UI 標簽:

讓我們來探討Struts提供的選擇標記的不同變化。讓我們來看看一個簡單的視圖頁的helloWorld.jsp的select標簽:

<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>Hello World</title>
<s:head />
</head>
<body>
   <s:form action="login.action">
      <s:select name="username" label="Username"
         list="{'Mike','John','Smith'}" />

      <s:select label="Company Office" name="mySelection"
         value="%{'America'}"
         list="%{#{'America':'America'}}">
      <s:optgroup label="Asia" 
         list="%{#{'India':'India','China':'China'}}" />
      <s:optgroup label="Europe"
         list="%{#{'UK':'UK','Sweden':'Sweden','Italy':'Italy'}}" />
      </s:select>

      <s:combobox label上一篇:Struts2教程下一篇:<s:a>標簽示例