`

Struts2几个常用标签的主要属性及示例(一)

阅读更多

以前做过一个struts2的项目,总结了用到的几个struts2常用标签的用法,以及响应的示例代码,每个标签总结了一下主要属性,页面代码,后台代码以及生成的html代码

 

1. checkbox

Checkbox tag用来生成html的一个input元素,类型为checkbox。这个标签常用来表示布尔型的变量。

 

Attributes

Description

name

对应action中的属性名称

fieldValue

选中时action变量被赋的值,当action的字段是布尔型的时候可以省略这个属性

value

只能为true或者false,来决定生成的checkbox是否被选中,尽量不用这个属性

label

Jsp页面为checkbox设定的显示内容

 

Jsp code:

<s:checkbox name="projectClosed" value="true" fieldValue="yes"/>

 

Page source code:

<input type="checkbox" name="projectClosed" value="yes" checked="checked" 

id="testTags_projectClosed"/>

<input type="hidden" name="__checkbox_projectClosed" value="yes" />

 

Action class:

private String projectClosed; //with getter/setter method

 

Result:

projectClosed = "yes";

checkbox如果显示在结果列表的一列,需要用checkbox的标签结合iterator标签,这时checkboxfieldValue属性用变量赋值。在action里要声明一个字符串型数组来取得这个checkbox group的值

 

2. checkboxlist

checkboxlist标签用来生成一组checkbox,这个标签不适合用在result table中。

 

Attributes

Description

name

对应action中的属性名称,属性的类型即是listKey的值所对应的类型

list

Required,这个属性的值必须为可迭代类型或者是数组类型,比如listsetarray。用以显示所有的选择项。如果list的值为Map,则mapkey对应option的值,mapvalue对应option的显示内容

listKey

生成的checkbox input元素的value属性

listValue

生成的checkboxinput元素的显示内容

 

Jsp code:

<s:checkboxlist list="#session.hobbyList" name="hobbyIds" listKey="hobbyId

listValue="hobbyName" ></s:checkboxlist>

 

Page source code:

<input type="checkbox" name="hobbyIds" value="1" id="hobbyIds-1" checked="checked"/>

<label for="hobbyIds-1" class="checkboxLabel">Football</label>

<input type="checkbox" name="hobbyIds" value="2" id="hobbyIds-2"/>

<label for="hobbyIds-2" class="checkboxLabel">Basketball</label> 

 

Prepare action

如果要显示的内容是从db中取得,那么list属性要在页面load之前赋值,这就需要有一个单独的action来取数据并给list属性赋值,下面是个演示:

public String execute() throws Exception {

        List<Hobby> hobbyList = new ArrayList<Hobby>();

        Hobby hobby_1 = new Hobby(new Long(1), "Football");

        Hobby hobby_2 = new Hobby(new Long(2), "Basketball");

 

        hobbyList.add(hobby_1);

        hobbyList.add(hobby_2); //this list load from database

 

        map.put("hobbyList", hobbyList);

        return SUCCESS; //return xxx.jsp

    }

 

Action class:

private Long[] hobbyIds; //with getter/setter method

public String execute() throws Exception {

for (Long hobbyId : hobbyIds) {

            //TODO:this checkbox is checked, and its value available

        }

}

 

Result:

这样在action里面就可以通过Long型的数组hobbyIds 来反映有哪些checkboxchecked状态,并做相应的操作。

3. combobox

combobox标签的用法类似checkboxlist,该标签生成的render代码显示为一个input元素以及一个select元素

 

Attributes

Description

name

对应action中的属性名称,属性的类型即是listKey的值所对应的类型,这个属性的值也即是生成的text fieldname的值。

list

Required,这个属性的值必须为可迭代类型或者是数组类型,比如listsetarray,用以显示所有的选择项。如果list的值为Map,则mapkey对应option的值,mapvalue对应option的显示内容

listKey

生成的select option元素的value属性,也即是选择某个option后,text field显示的内容

listValue

生成的selectoption元素的显示内容

headerKey

设置第一个选项的值

headerValue

设置第一个选项的显示内容

 

Jsp code:

<s:combobox list="#session.hobbyList" name="comboHobbyId" headerKey="-1" headerValue="--Please Select One--" listKey="hobbyId" listValue="hobbyName"></s:combobox>

 

Page source code:

<input type="text" name="comboHobbyId" value="" id="testTags_comboHobbyIds"/><br />

<select onChange="autoPopulate_testTags_comboHobbyIds(this);">

<option value="-1">--Please Select One--</option>

     <option value="1">Football</option>

     <option value="2">Basketball</option>

</select> 

 

Prepare action

如果要显示的内容是从db中取得,那么list属性要在页面load之前赋值,这就需要有一个单独的action来取数据并给list属性赋值:

public String execute() throws Exception {

        List<Hobby> hobbyList = new ArrayList<Hobby>();

        Hobby hobby_1 = new Hobby(new Long(1), "Football");

        Hobby hobby_2 = new Hobby(new Long(2), "Basketball");

 

        hobbyList.add(hobby_1);

        hobbyList.add(hobby_2); //this list load from database

 

        map.put("hobbyList", hobbyList);

        return SUCCESS; //return xxx.jsp

    }

 

Action class:

private String comboHobbyId; //with getter/setter method

 

Result:

假设选中第二个选项,则comboHobbyId的值为‘1’对应的hobbyName为“Football

分享到:
评论

相关推荐

    Struts2_表单标签简介 示例

    Struts2中的表单标签主要分为基础表单标签和高级表单标签两大类。基础表单标签涵盖了如单选框、复选框、下拉列表等基本元素;而高级表单标签则是在此基础上进行了扩展,增加了更多的功能性和灵活性。这些标签的设计...

    Struts2 UI标签代码示例

    本篇文章将深入探讨Struts2 UI标签中的几个关键组件:tabbedPanel、autocompleter、tree和treenode以及optiontransferselect,这些标签在实际项目中有着广泛的应用。 首先,`tabbedPanel`标签是用于创建多选项卡的...

    Struts2分页-自定义标签-类似百度分页

    Struts2分页是Web开发中的一个重要概念,它主要用于处理大量数据时,避免一次性加载所有数据导致页面响应慢或者浏览器崩溃。在这个场景中,我们提到的是使用自定义标签实现类似于百度分页的效果,这是一种常见的用户...

    struts2-4标签库文件上传下载

    下面是一个简单的表单示例,展示了如何使用Struts2标签库中的几个常见标签: ```jsp 书名:&lt;s:textfield name="book.bookName" /&gt;&lt;br/&gt; 价格:&lt;s:textfield name="book.bookPrice" /&gt;&lt;br/&gt; 出版时间:...

    struts2标签库详解(非常不错)

    下面将详细介绍几个关键的Struts2标签: 1. `s:textfield`: 这个标签用于创建HTML输入字段,它自动处理了表单数据的绑定,可与Action类的属性对应。 2. `s:textarea`: 用于创建多行文本输入框,同样支持数据绑定。...

    struts2 标签使用

    通过以上几个示例,我们可以看到 `&lt;s:if&gt;` 标签在 Struts2 中的应用是非常灵活和强大的。它可以用来实现各种复杂的逻辑判断,如数值比较、字符串匹配等。此外,结合其他标签如 `&lt;s:iterator&gt;`,可以实现更复杂的逻辑...

    struts2示例(包含源代码)

    本示例项目是关于如何在实际开发中运用Struts2的一个实例,包含了丰富的功能和技术点,旨在帮助开发者理解和实践Struts2的核心特性。 首先,"struts2示例(包含源代码)"意味着我们将有机会深入学习Struts2框架的...

    Struts2常用标签

    Struts2标签库主要包括以下几个方面: - **HTML标签**:用于创建HTML表单元素。 - **控制结构标签**:用于实现条件逻辑和循环。 - **数据绑定标签**:用于数据的展示与绑定。 - **UI标签**:用于创建复杂的用户界面...

    struts2配置文件以及代码示例

    Struts2是一个基于MVC模式的开源Web应用框架,它继承了Struts1的优点,并且进行了大量的改进,支持拦截器、结果类型、动态方法调用等功能。在Struts2中,配置文件扮演着至关重要的角色,它定义了应用的行为、组件...

    struts2标签库实验报告.docx

    通过实验,学员能够掌握Struts2中几个常用标签(如`&lt;s:radio&gt;`、`&lt;s:select&gt;`、`&lt;s:token&gt;`)的应用,并理解OGNL表达式的基本用法。这些知识点对于初学者来说至关重要,因为它们构成了Struts2应用开发的基础。 ####...

    Struts2入门的示例

    在Struts2框架中,主要包含以下几个核心概念: 1. **Action类**:Action类是业务逻辑处理的核心,它是Struts2中的控制器。开发者需要创建一个继承自`com.opensymphony.xwork2.ActionSupport`或其子类的Java类,并在...

    struts2.0标签使用

    下面将详细介绍几种常见的Struts2.0标签,并结合示例进行解释: ### 示例分析 给出的示例代码主要展示了如何使用`&lt;html:select&gt;`标签来创建一个下拉列表,并利用`&lt;c:forEach&gt;`标签遍历数据集以填充下拉列表选项。...

    struts1.x标签详解

    Struts 1.x 中的标签被分为以下几个类别: 1. **BeanTags**:用于创建 Bean、访问 Bean 和访问 Bean 的属性,同时也支持依据 cookies、headers 和 parameters 创建相关的 Bean。 2. **HTMLTags**:用于创建 Struts ...

    Struts2登录DEMO

    在Struts2登录DEMO中,主要涉及以下几个核心知识点: 1. **Action类**:在Struts2中,Action类是业务逻辑的载体,通常继承自`org.struts2.StrutsAction`或实现`com.opensymphony.xwork2.Action`接口。在这个DEMO中...

    struts2标签大全

    以上介绍的是Struts2框架中常用的几个标签,这些标签极大地简化了Web应用程序的开发过程。通过灵活运用这些标签,开发者可以在提高开发效率的同时确保代码的可读性和可维护性。希望本文能帮助读者更好地理解和掌握...

    Struts标签大全.doc

    Bean Tags是Struts中最基础也是最常用的标签之一,主要用于创建、访问以及管理Bean对象。Bean在这里通常指的是JavaBean,这是一种遵循特定命名和编码约定的Java类,用于封装数据和业务逻辑。Bean Tags包括以下几种:...

    struts标签做的增删查改

    在给定的标题和描述中,"struts标签做的增删查改"提到了几个关键的Struts2标签,它们分别是`s:iterator`、`s:textfield`、`s:select`以及`s:checkboxlist`,这些标签在构建表单和处理数据时起到重要作用。...

    struts2 级联菜单

    要实现Struts2的级联菜单,主要涉及以下几个步骤: 1. **创建实体类**:首先,你需要根据数据库中的表结构创建对应的Java实体类,这些类将用于表示菜单项。例如,你可以有`Country`、`Province`和`City`类,它们...

    struts2标签介绍

    - **分类**:Struts1.x的标签库按照功能划分为HTML、Tiles、Logic和Bean等几个部分;而Struts2.0虽然没有明确的分类,但所有的标签都放在了`/struts-tags`这一命名空间下,但从功能上看,可以大致分为非UI标签和UI...

    Struts2标签库详解

    Struts2标签库主要分为以下几部分: - `s:` 核心标签库:包含了最常用的功能,如表单元素、控制流标签等。 - `x:` 动态标签库:用于动态生成HTML元素,提高了灵活性。 - `field:` 表单字段标签库:专门处理表单...

Global site tag (gtag.js) - Google Analytics