Struts2-表单标签

对于struts2中的标签进行总结:表单标签
表单标签将在 HTML 文档里被呈现为一个表单元素
使用表单标签的优点:
表单回显
对页面进行布局和排版
标签的属性可以被赋值为一个静态的值或一个 OGNL 表达式. 
如果在赋值时使用了一个 OGNL 表达式并把它用 %{} 括起来, 这个表达式将会被求值. 
1.form 标签用来呈现 HTML 语言中的表单元素
默认情况下, form 标签将被呈现为一个表格形式的 HTML 表单. 
嵌套在 form 标签里的输入字段将被呈现为一个表格行. 每个表格行由两个字段组成, 一个对应着行标,
一个对应着输入元素. 提交按钮将被呈现为一个横跨两列单元格的行
1.2 textfield, password, hidden 标签
textfield 标签将被呈现为一个输入文本字段, password 标签将被呈现为一个口令字段,
hidden 标签将被呈现为一个不可见字段. 
password 标签扩展自 textfield 标签, 多了一个 showPassword 属性. 
该属性时布尔型. 默认值为 false, 它决定着在表单回显时是否显示输入的密码. 
1.3 submit 标签
submit 标签将呈现为一个提交按钮. 根据其 type 属性的值. 这个标签可以提供 3 种呈现效果:
input: <input type=“submim” …/>
button: <input type=“button” …/>
image: <input type=“image” />
1.4 textarea 标签
textarea 标签将呈现为一个 HTML 文本域元素
案例:
<s:form action="formtag.do">
<s:hidden name="userId"></s:hidden>
<s:textfield name="userName" label="UserName"></s:textfield>
<s:password name="password" label="Password" showPassword="true"></s:password>
<s:textarea name="desc" label="Desc"></s:textarea>
</s:form>
<!-- struts form标签
1:和form标签差不多
2:Struts的form标签会生成一个table,以进行自动排版
3:可以对提交的标签进行自动的回显,回显过程是:从栈顶对象开始匹配属性,并把匹配的属性值赋到对应的标签的
  value中,若栈顶对象没有对应的属性,则依次向下找对应的属性。-->

1.5 checkbox 标签
checkbox 标签将呈现为一个 HTML 复选框元素. 该复选框元素通常用于提交一个布尔值
当包含着一个复选框的表单被提交时, 如果某个复选框被选中了, 它的值将为 true, 
这个复选框在 HTTP 请求里增加一个请求参数.但如果该复选框未被选中, 在请求中就不会增加一个请求参数. 
checkbox 标签解决了这个局限性, 它采取的办法是为单个复选框元素创建一个配对的不可见字段,
struts2复选框  如果被选中会提交两个值,进而判断是true
<input type="checkbox" name="married" value="true" checked="checked" id="formtag_married"/>
<input type="hidden" id="__checkbox_formtag_married" name="__checkbox_married" value="true" />
struts2复选框  如果被选中会提交一个值,进而判断是false
<input type="checkbox" name="married" value="true" id="formtag_married"/>
<input type="hidden" id="__checkbox_formtag_married" name="__checkbox_married" value="true" /> 
案例:
<s:checkbox name="married" label="Married"></s:checkbox>
1.6:radio 标签  select 标签 optiongroup 标签 checkboxlist 标签  list, listKey 和 listValue 属性
list, listKey, listValue 这 3 个属性对 radio, select, checkboxlist 等标签非常重要
可以把一个 String, 一个数组, 一个 Enumeration, Iterator, Map 或 Collection 赋给 list 属性.  
赋值为一个 Collection(或一个对象数组): 把数组或 Collection 赋值给 list 属性, 
把用来提供选项值的对象属性赋给 listKey 属性, 把用来提供选项行标的对象属性赋给 listValue 属性
radio 标签:radio 标签将呈现为一组单选按钮, 单选按钮的个数与程序员通过该标签的 list 属性提供的选项的个数相同.
一般地, 使用 radio 标签实现 “多选一”, 对于 “真/假” 则该使用 checkbox 标签. 
select 标签:select 标签将呈现一个 select 元素. 
optiongroup 标签:optiongroup 标签对 select 元素所提供的选项进行分组. 每个选项有它自己的来源.
checkboxlist 标签:checkboxlist 标签将呈现一组多选框.
checkbox 标签被映射到一个字符串数组或是一个基本类型的数组. 若它提供的多选框一个也没有被选中, 
相应的属性将被赋值为一个空数组而不是空值.  
案例:
<s:radio name="gender" list="#{'1':'Male','0':'Femal'}" label="Gender"></s:radio>
<!-- 服务端需要使用集合类型    以保证能够正常的回显 -->
<s:checkboxlist name="city" list="#request.cities" listKey="cityId" listValue="cityName" label="City">
</s:checkboxlist>

<s:select list="{10,11,12,13,14,15,16,17,18,19}" 
headerKey="" headerValue="请选择" name="age" label="Age"
>
<!--s:optgroup,可以用作s:select,的子标签,用于显示更多的下拉框,
注意  必须有键值对,而不能使用一个集合,让其值做为键,又作为值,当然也可以向上边s:checkboxlist使用指定listKey listValue
#表示从map取值
 -->
<s:optgroup label="21-30" list="#{21:21,22:23 }"></s:optgroup>
<s:optgroup label="31-40" list="#{41:41,42:42 }"></s:optgroup>
</s:select>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值