`
chenbingling
  • 浏览: 2278 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

struts 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>
/>
分享到:
评论

相关推荐

    (原创)struts标签之checkboxlist选中值并换行处理

    ### Struts标签之CheckboxList选中值与换行处理详解 #### 一、引言 在Web应用开发中,表单元素的选择对于用户交互至关重要。Struts框架作为Java Web开发中的一个重要工具,提供了丰富的标签库来帮助开发者快速构建...

    巧用struts标签之checkboxlist选中默认值换行处理

    通过这种方式,我们可以实现`struts`标签`checkboxlist`的默认选中值设置,并通过JavaScript动态调整布局,使界面更加友好。在实际开发中,这种方法可以帮助我们更好地控制用户界面,提升用户体验。

    struts2对于checkboxlist的换行

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

    struts2的checkboxlist标签换行

    在Struts2中,`checkboxlist`标签是用于显示一组可选的复选框,通常用于用户在表单中多选选项。本文将深入探讨`checkboxlist`标签以及如何实现换行显示。 在Struts2的标签库中,`&lt;s:checkboxlist&gt;`标签主要用于创建...

    freemarker初探 附 freemarker中文手册 与 struts2 checkboxlist的研究

    在本篇文章中,我们将探讨Freemarker的基础知识,并结合Struts2中的checkboxlist进行研究。 首先,让我们理解Freemarker的工作原理。Freemarker是一个基于模板的、声明式的模板语言,它将数据模型与HTML或其他格式...

    strust2 checkboxlist

    Struts2 CheckboxList详解与应用 Struts2作为一款经典的MVC框架,为Java开发者提供了丰富的功能和组件,其中CheckboxList就是其中之一。CheckboxList在Web表单中用于展示多选选项,用户可以勾选多个选项。这篇内容...

    struts2标签chekboxlist实现竖排代码

    `checkboxlist`是Struts2标签库中的一个组件,用于显示一组可选的复选框。在默认情况下,这些复选框通常是横向排列的。然而,在某些设计需求下,可能需要将这些复选框以竖向方式展示。本篇将详细解释如何在Struts2中...

    struts2.0 checkbox标签使用问题

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

    解决struts2的s:checkbox显示难看问题

    5. **标签嵌套**:`s:checkbox`可能与其他Struts2标签或者HTML元素一起使用,如`s:checkboxlist`。在这些组合中,可能出现位置、间距等显示问题。检查并修正嵌套结构,确保正确渲染。 6. **JavaScript和jQuery插件*...

    struts1.x html标签 radio,checkbox,multibox,select的使用

    在Struts1.x中,HTML标签库提供了一系列的定制化标签,简化了视图层的开发,比如`html:radio`, `html:checkbox`, `html:multibox`和`html:select`,这些都是用来创建用户交互界面的元素,主要用于处理表单数据的输入...

    struts2(checkbox_radio_select)表单标签的应用及详细事例

    Struts2提供了`s:checkboxlist`标签来处理复选框。以下是一些使用场景: - **列表作为值**:当列表由字符串构成时,可以直接传递。例如: ```jsp &lt;s:checkboxlist name="list" list="{'Java','.Net','RoR','...

    customcheckboxlist.ftl

    解决struts2里checkboxlist 换行 在struts核心jar包下的template里创建custom文件夹。把该文件放到custom下。替换工程里的jar文件。解决问题。 &lt;s:checkboxlist list="perList" theme="custom" template=...

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

    此外,我们还可以为`&lt;s:checkboxlist&gt;`提供键值对列表,通过`listKey`和`listValue`属性来分别指定键和值。比如: ```jsp &lt;s:checkboxlist name="skills2" label="Skills 2" list="#{ 1:'Java', 2: '.Net', 3: ...

    struts2标签使用例子

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

    struts2标签库

    - **`&lt;s:checkboxlist&gt;`**:用于创建一组复选框,每个复选框都关联一个值。这个标签在Struts1中没有直接对应的标签,但在Struts2中非常有用,特别是在需要用户选择多个选项的情况下。 - **`&lt;s:combobox&gt;`**:类似于...

    配置Struts 2开发环境,了解和熟悉Struts 2的开发流程、了解和熟悉Struts2标签的使用方法.rar

    5.掌握常用标签textfield、radio、paaaword、checkboxlist、select、data的使用方法,实现页面与Action的交互操作 6.要求在创建过程中,包的名称要体现班级和学号,项目名称不需要按照实验手册中书写。在做的过程中...

    struts2标签解析

    `s:checkbox`的`name`属性对应Action类中的数组或List类型的属性,而`s:checkboxlist`则通过`list`属性指定选项源。 5. `s:radio`和`s:radiolist`: 同理,`s:radio`用于创建单个单选按钮,`s:radiolist`用于创建...

    struts2-tags-API,struts2标签api

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

    Struts2标签库

    &lt;%@ taglib uri="/struts-tags" prefix="s" %&gt; 结合例子,重点掌握以下标签的用法 (1) (2) (3) &lt;s:if&gt; 、、 (4) (5) (6) 、 (7) 、、&lt;s:checkbox&gt;、 (8) 、、&lt;s:checkboxlist&gt;

Global site tag (gtag.js) - Google Analytics