html:checkbox,html:multibox标签

<html:checkbox>
标签在表单上生成标准的HTML检查框,假如ActionForm Bean中的某个属性只有两种可选值(true和false),就可以在表单中用<html:checkbox>标签来表示,

<html:checkbox property="checkbox1">

property属性和ActionForm Bean中的属性相对应。

value属性,用来设置用户选中检查框时的值。默认值为true.

当使用<html:checkbox>标签时需要在ActionForm Bean的reset()方法对其复位,当<html:checkbox>value

属性为true时,必须在reset()方法中把对应的属性设置为false.当<html:checkbox>value属性为false时,必

须在reset()方法中把对应的属性设置为true.如果不进行复位,一旦用户选中checkbox那么这个checkbox将

永远为选中状态。即使用户取消了选中状态,checkbox仍为选中状态。


ActionForm中的reset()方法用来完成属性初始化,不管ActionForm Bean在那个范围内,控制器都会先调用

ActionForm中的reset()方法,然后在把表单的数据组装到ActionForm中.如果ActionForm在request范围

内,那么对于每个新的请求都会创建新的ActionForm实例,当新的实例创建后,如果他的属性已经被初始

化为默认值,那么接着在调用reset()方法初始化属性就没有必要了。因此在这种情况下,可以让reset()方

法为空。

对于session范围内的ActionForm,同一个ActionForm实例会被多个请求共享,那么reset()方法在这种情况

下极为有用。


<html:multibox>标签

同<html:chexkbox>标签一样可以提供<input type="checkbox">元素,区别他和ActionForm Bean的关联不

一样。如果应用中有多个<html:multibox>那么他在通过property属性与ActionForm Bean中的数组相关联。

当用户提交表单时,所有被选中的复选框的值都会被存放在ActionForm Bean中的相应数组中,如果某个复

选框没有被选中,那么数组就不会包含他的值。<html:multibox>可以动态决定被选中的复选框数目,只要这

些复选框的Property属性相同,而value不一样,他们就和ActionForm Bean的同一个数组对应。

<html:checkbox>与<html:multibox>区别

<html:checkbox>标签property属性和ActionForm中的一个属性相关联,

比如<html:checkbox property="checkbox1">对应ActionForm中的checkbox1属性,

<html:checkbox property="checkbox2">checkbox2属性。

此时将checkbox1属性指定为value属性表示的值,则复选框为默认选中状态。

<html:checkbox property="checkbox1" value="1"/><br> ActionForm中的checkbox1属性值=1。

如果在ActionForm中以数组形式关联<html:checkbox>标签,初始化时将没有显示。


比如:

<html:checkbox property="checkbox2" value="1">

<html:checkbox property="checkbox2" value="2">


以上<html:checkbox>标签property属性相同,那么在ActionForm中 使用如下方式使其默认选中则没有效果

private String checkbox2[]=new String[]{"1","2"};

此时应使用<html:multibox>标签


<html:multibox property="checkbox2" value="1">

<html:multibox property="checkbox2" value="2">

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值