`
dada_fangfang
  • 浏览: 146242 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

struts2的checkboxlist学习 -转

阅读更多
struts2里增加了一个新的UT标签s:checkboxlist,下面介绍下使用方法。
s:checkboxlist用于画面上显示一组复选框,缺省是横排输出,后面将介绍如何修改ftl文件使得它能按任意方式输出。
标签格式:
    <s:checkboxlist name="" list="" listKey="" listValue="" value="" />
    name-定义标签名,用于接收画面上选中的复选框,故应与Action里定义的属性一致,且多为数组;
    list-定义集合变量,用于输出复选框到画面上,一般在Action里定义一个List或Map属性;
    listKey-如果在Action里定义的是一个List,则往往会在List里定义一个Bean,它只有两个属性,其中一个(比如id)就在这里设置;
                如果在Action里定义的是一个Map,则Map的key就在这里设置;
    listValue-如果在Action里定义的是一个List,则往往会在List里定义一个Bean,它只有两个属性,另外一个(比如name)就在这里设置;
                  如果在Action里定义的是一个Map,则Map的value就在这里设置;
    value-用于回显画面上被选中的复选框,假如画面有输入检查,如果有错则返回原画面并显示出错信息,这时候就需要使用它。
             一般把它设成和name一致就可以了。
注意点:
    为了能正确显示已被选中的复选框,一定要使得name的数组类型与listKey的类型一致。
    比如,name设成String[] users,则listKey就要设成String id;如果name设成Integer[] users,则listKey就要设成Integer id;
修改ftl文件改变输出方式:
    1.搜索struts2-core-xxx.jar,找到checkboxlist.ftl文件,拷贝出来;
    2.在自己的工程的src下新建template.simple包,放置上述文件;
    3.用文本编辑器打开该文件,修改成自己希望输出的格式,保存,OK;
例子:
    希望画面上每3个复选框输出为一行。
<#--
/*
* $Id: checkboxlist.ftl 804072 2009-08-14 03:16:35Z musachy $
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements.  See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership.  The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License.  You may obtain a copy of the License at
*
*  http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied.  See the License for the
* specific language governing permissions and limitations
* under the License.
*/
-->
<#assign itemCount = 0/>
<#if parameters.list?exists>
     <@s.iterator value="parameters.list">
         <#assign itemCount = itemCount + 1/>
         <#if parameters.listKey?exists>
             <#assign itemKey = stack.findValue(parameters.listKey)/>
         <#else>
             <#assign itemKey = stack.findValue('top')/>
         </#if>
         <#if parameters.listValue?exists>
             <#assign itemValue = stack.findString(parameters.listValue)/>
         <#else>
             <#assign itemValue = stack.findString('top')/>
         </#if>
<#assign itemKeyStr=itemKey.toString() />
<#if (itemCount-1)%3 == 0>
<tr>
</#if>
<td>
<input type="checkbox" name="${parameters.name?html}" value="${itemKeyStr?html}" id="${parameters.name?html}-${itemCount}"<#rt/>
         <#if tag.contains(parameters.nameValue, itemKey)>
  checked="checked"<#rt/>
         </#if>
         <#if parameters.disabled?default(false)>
  disabled="disabled"<#rt/>
         </#if>
         <#if parameters.title?exists>
  title="${parameters.title?html}"<#rt/>
         </#if>
         <#include "/${parameters.templateDir}/simple/scripting-events.ftl" />
         <#include "/${parameters.templateDir}/simple/common-attributes.ftl" />
/>
<label for="${parameters.name?html}-${itemCount}" class="checkboxLabel">${itemValue?html}</label>
</td>
<#if itemCount%3 == 0>
</tr>
</#if>
     </@s.iterator>
</#if>
<input type="hidden" id="__multiselect_${parameters.id?html}" name="__multiselect_${parameters.name?html}" value=""<#rt/>
<#if parameters.disabled?default(false)>
disabled="disabled"<#rt/>
</#if>
/>
分享到:
评论
1 楼 a85187685a 2011-11-04  

相关推荐

    struts2对于checkboxlist的换行

    在Struts2中,处理用户输入是常见的任务,而`checkboxlist`是用于展示一组可选复选框的组件。这篇博客讨论的是如何在Struts2中处理`checkboxlist`的换行问题,这在创建多列或美观的表单布局时非常有用。 `checkbox...

    struts2-tags-API,struts2标签api

    4. `s:checkbox`和`s:checkboxlist`: 处理复选框,用于多选数据。 5. `s:radio`和`s:radiobuttonlist`: 处理单选按钮,用于单选数据。 6. `s:select`和`s:option`: 用于创建下拉列表,可以从Action或静态资源中获取...

    struts2官方例子3--使用Struts2标签

    3. `s:checkbox`和`s:radio`: 分别用于创建复选框和单选按钮,可以与Action的List属性进行绑定,实现多选或单选。 4. `s:submit`: 创建提交按钮,触发Action的执行。 5. `s:form`: 定义一个表单,可以指定Action和...

    struts2-tags-API.rar_struts2 api_struts2 tag api_struts2 tags ch

    Struts2是一个非常流行的Java Web框架,用于构建和维护可扩展、模块化和高度结构化的Web应用程序。...通过深入学习Struts2标签库,开发者能够更好地理解和利用Struts2框架,创建出高效、易维护的Web应用。

    struts2-tags-API

    - `s:checkbox`,`s:checkboxlist`:处理单选或多选框,与Action中的布尔值或列表属性关联。 - `s:radio`,`s:radiolist`:创建单选按钮,可以与Action中的枚举或列表属性绑定。 3. **表单标签**: - `s:form`:...

    struts2.0 checkbox标签使用问题

    &lt;s:checkboxlist name="interests" list="{'Java', 'Python', 'JavaScript'}" /&gt; ``` 这会根据列表中的元素自动生成复选框,用户选中的值也会自动存入`interests`字段。 在描述中提到的博客链接(由于实际无法访问...

    中文-Struts2-Tags-API chm格式 非常详细的标签使用说明有例子

    3. **表单标签**:Struts2提供了一整套表单相关的标签,如`&lt;s:form&gt;`定义表单,`&lt;s:submit&gt;`提交表单,`&lt;s:checkboxlist&gt;`和`s:select`用于创建多选和下拉菜单,以及`&lt;s:iterator&gt;`遍历集合数据。 4. **验证标签**...

    struts2标签使用例子

    - `s:checkboxlist` 和 `s:radiolist`:用于生成多选或单选的列表。 3. **Struts2迭代标签库**: - `s:iterator`:遍历集合数据,如List、Map等,用于循环渲染数据。 - `s:if` 和 `s:else`:条件判断标签,类似...

    struts2标签库

    对于那些已经熟悉Struts1的人来说,学习Struts2将是一个相对平滑的过程。Struts2标签库是其核心组件之一,它提供了丰富的前端界面构建工具,能够帮助开发者快速构建动态网页。下面将详细介绍Struts2标签库中的部分...

    struts2自学文档

    - **Checkboxlist**:创建复选框列表。 - **Radio**:创建单选按钮组。 - **Select**:创建下拉列表。 #### 十、表单防重复提交 - **防止重复提交**:通过在表单中加入隐藏字段、使用令牌等机制避免重复提交...

    Struts2.1学习笔记

    - **checkboxlist复选框**:用于生成一组复选框。 - **radio单选框**:用于生成一组单选按钮。 - **select下拉选择框**:用于生成下拉列表。 - **token防止表单重复提交**:使用`&lt;s:token&gt;`标签可以生成一个隐藏字段...

    Struts2-Tags.rar

    3. `s:checkbox` 和 `s:checkboxlist`:用于创建单选和复选框,可以绑定到Action类的集合属性,方便处理多选值。 4. `s:radio` 和 `s:radiolist`:与`checkbox`类似,但用于单选按钮。 5. `s:submit`:创建提交...

    Struts2之struts2标签库了解和使用案例struts025

    - `s:checkboxlist`、`s:radiolist`:多选框和单选框列表,用于多值选择。 - `s:submit`和`s:reset`:在表单中创建提交和重置按钮。 - `s:head`:插入JavaScript和CSS资源,支持CDN加速。 案例分析(以`struts...

    Struts2标签集锦(附Struts2标签详解word文档)

    3. **选择标签(Selection Tags)**:这些标签主要用于下拉列表、复选框组和单选按钮组的选择,如`&lt;s:select&gt;`创建下拉列表,`&lt;s:checkboxlist&gt;`和`s:radiolist`分别用于生成多个复选框和单选按钮。 4. **数据标签...

    struts2 UI标签

    - `s:checkbox`和`s:checkboxlist`: 处理复选框,可以单个使用或以列表形式显示。 - `s:radio`: 用于创建单选按钮,同样支持列表展示。 - `s:select`和`s:option`: 创建下拉选择列表,可以从Action类的集合属性动态...

    struts2 表单标签的使用

    - `&lt;s:checkbox&gt;`和`&lt;s:checkboxlist&gt;`:创建单选或多选复选框,可以与List或Map类型的数据绑定。 - `&lt;s:radio&gt;`和`&lt;s:radiolist&gt;`:创建单选按钮,同样支持List或Map数据绑定。 - `&lt;s:select&gt;`:创建下拉列表,可以...

    struts2标签学习

    Struts2标签是Java开发中基于Struts2框架的一个重要组成部分,它提供了丰富的标签库,使得在JSP页面中处理业务逻辑和展示数据变得更加简洁和高效。与Struts1的标签库相比,Struts2的标签更加灵活且功能更加强大。 ...

    Struts2中的标签介绍及应用实例

    &lt;s:checkboxlist name="skills2" label="Skills 2" list="#{ 1:'Java', 2: '.Net', 3: 'RoR', 4: 'PHP' }" listKey="key" listValue="value" value="{ 1, 2, 3 }"/&gt; ``` 在这里,`list`属性是一个Map对象...

    struts2标签学习笔记

    Struts2是一个强大的MVC框架,它提供了丰富的标签库,使得开发者可以更加便捷地构建视图层。在本文中,我们将深入探讨Struts2的标签库,并特别关注单选框和多选框的使用。 首先,引入Struts2的标签库至关重要。在...

Global site tag (gtag.js) - Google Analytics