Struts2的标签库(五)

      ——表单标签

几个特殊的表单标签的使用:

1.checkboxlist标签

  该标签用于创建多个复选框,用于同时生成多个<input type="checkbox".../>的HTML标签。它根据list属性指定的集合来生成多个复选框。其标签有如下几个属性:

  list属性:指定要产生复选框的集合;

  listKey属性:该属性指定集合元素中的某个属性作为复选框的value。当集合为Map时,可以使用Key或者value来指定Map对象中的key或者value作为复选框的value;

  listValue属性:该属性指定集合元素中的某个属性作为复选框的标签。如果是Map集合,可以使用key或者value值指定Map对象的key或者value作为复选框的标签;

(1)list属性指定的集合是一个简单的List集合时:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>checkboxlist - 1</title>
</head>
<body>
<s:form action="myindex">
<!-- 使用简单的集合生成多个复选框 -->
<s:checkboxlist
    name="sport"
    label="请选择喜欢的运动"
    labelposition="top"
    list="{'篮球','足球','羽毛球','乒乓球','游泳','跑步'}"
>
</s:checkboxlist>
<s:submit value="提交"/>
</s:form>
</body>
</html>

(2)指定list属性是一个简单的Map集合时:

  说明一下listKey和listValue的作用:

  listKey属性:复选框的值;

  listValue属性:复选框的标签。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>checkboxlist - 2</title>
</head>
<body>
<s:form action="mapTest">
<s:checkboxlist
    name="names"
    list="#{1:'张三',2:'李四',3:'王五' }"
    listKey="value"
    listValue="key"
>
</s:checkboxlist>
<!-- 使用一个简单的Map集合作为checkboxlist的list属性 -->
<s:submit value="提交"/>
</s:form>
</body>
</html>

(3)使用Java集合生成复选框

1)JavaBean类

public class Student {
	//属性
	private String name;
	private int age;
	//构造方法
	public Student(){

	}
	public Student(String name,int age){
		this.name = name;
		this.age = age;
	}
	//setter、getter方法
	public void setName(String name){
		this.name = name;
	}
	public String getName(){
		return this.name;
	}
	public void setAge(int age){
		this.age = age;
	}
	public int getAge(){
		return this.age;
	}
}

2)Service类

import myJavaBean.Student;

public class StudentService {
    public Student[] getStudents(){
        return new Student[]{
            new Student("张三",18),
            new Student("李四",20),
            new Student("王五",24)
        };
    }
}

3)JSP页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>checkboxlist - 3</title>
</head>
<body>
<s:form action="mapTest">
<!-- 使用Java集合创建复选框 -->
<!-- 创建一个JavaBean对象 -->
<s:bean name="myService.StudentService" var="stu"/>
<s:checkboxlist
    name="students"
    list="#stu.students"
    listValue="name"
    listKey="age"
>
</s:checkboxlist>
<s:submit value="提交"/>
</s:form>
</body>
</html>

2.radio标签

  使用方法与checkboxlist标签的用法相同,此标签生成的是单选框。使用示例:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>radio test</title>
</head>
<body>
<s:form>
<!-- 使用简单的List集合生成单选框 -->
<s:radio
    name="a"
    list="{'张三','李四','王五'}"
>
<!-- 使用Map集合生成单选框 -->
<s:radio
    name="b"
    list="#{1:'张三',2:'李四',3:'王五' }"
    listValue="key"
    listKey="value"
>
</s:radio>
<!-- 使用Java集合生成单选框 -->
<s:bean name="myService.StudentService" var="sts"/>
<s:radio
    name="c"
    list="#sts.students"
    listValue="name"
    listKey="age"
>
</s:radio>
</s:radio>
</s:form>
</body>
</html>

3.select标签

  select标签用于生成一个下拉列表框:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>select</title>
</head>
<body>
<s:form>
<!-- 使用简单的List集合生成下拉列表 -->
<s:select
    name="a"
    list="{'英语','数学','语文','自然'}"
>
</s:select>
<!-- 使用Map集合生成下拉列表框 -->
<s:select
    name="b"
    list="#{'英语':'张三','数学':'李四','语文':'王五','自然':'嘿嘿'}"
    listValue="key"
    listKey="value"
>
<!-- 使用Java集合生成下拉列表框 -->
<s:bean name="myService.StudentService" var="st"/>
<s:select
    name="c"
    list="#st.students"
    listValue="name"
    listKey="age"
>
</s:select>
</s:select>
</s:form>
</body>
</html>

4.optgroup标签

  此标签用于长生一个下拉列表框的选项组,该标签必须在select标签中使用,可以在一个select标签中使用多个optgroup标签。示例如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>optgroup</title>
</head>
<body>
<s:form>
<!-- 在select标签中使用optgroup标签 -->
<s:select
    name="a"
    list="{1,2,3,4}"
    size="5"
>
<s:optgroup
    label="label——1"
    list="#{1:'张三',2:'李四',3:'王五'}"
    listValue="key"
    listKey="value"
/>
<s:bean name="myService.StudentService" var="st"/>
<s:optgroup
    label="label——2"
    list="#st.students"
    listValue="name"
    listKey="age"
/>
</s:select>
</s:form>
</body>
</html>

5.updownselect标签

  生成可以上下移动选项的列表框,该标签有如下几个特别的属性:

  allowMoveUp属性:是否显示“上移”按钮,默认true。

  allowMoveDown属性:是否显示“下移”按钮,默认为true。

  allowSelectAll属性:是否显示“全选”按钮,默认我true。

  moveUpLabel属性:设置“上移”按钮的文本,默认为“^”。

  moveDownLabel属性:设置“下移”按钮的文本,默认为“v”。

  selectAllLabel属性:设置“全选”按钮的文本,默认为“*”。

示例:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>updownselect</title>
</head>
<body>
<s:form>
<s:updownselect
    name="a"
    list="{'a','b','c','d','e'}"
    />
</s:form>
</body>
</html>

6.doubleselect标签

  该标签为生成级联列表框的标签。该标签有如下几个属性:

  list属性:

    指定第一个下拉列表框中的集合。

  listKey属性:

    指定集合中作为下拉列表框的value值。

  listValue属性:

    指定集合中作为下拉集列表框的标签。

  doubleList属性:

    指定第二个下拉列表框的集合。

  doubleListKey属性:

    指定第二个集合中作为下拉列表框的value值。

  doubleListValue属性:

    指定第二个集合中作为下拉列表框的标签。

  doubleName属性:

    指定第二个下拉列表框的name属性。

  示例:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>doubleselect</title>
</head>
<body>
<s:set
    name="a"
    value="#{'学生':{'学生1','学生2','学生3','学生4'},'教师':{'教师1','教师2','教师3'} }"
/>
<s:form>
    <s:doubleselect
        name="b"
        doubleList="#a[top]"
        list="#a.keySet()"
        doubleName="name">
    </s:doubleselect>
</s:form>
</body>
</html>

Struts2的标签库(五)——表单标签的更多相关文章

  1. Struts2_day04--自定义拦截器_Struts2的标签库_表单标签

    自定义拦截器 1 在struts2里面有很多的拦截器,这些拦截器是struts2封装的功能,但是在实际开发中,struts2里面的拦截器中可能没有要使用的功能,这个时候需要自己写拦截器实现功能 2 拦 ...

  2. 基于Struts2框架实现登录案例 之 使用Struts2标签库简化表单+继承ActionSupport完成输入交验

    一,使用Struts2标签库简化表单 在文章[基于Struts2框架实现登录案例]的基础上,通过使用Struts标签库可以简化登录页面login2.jsp <%@ page language=& ...

  3. SpringMVC学习记录(五)--表单标签

    在使用SpringMVC的时候我们能够使用Spring封装的一系列表单标签,这些标签都能够訪问到ModelMap中的内容. 以下将对这些标签一一介绍. 1.引入标签头文件 在正式介绍SpringMVC ...

  4. [转]SpringMVC<from:form>表单标签和<input>表单标签简介

    原文地址:https://blog.csdn.net/hp_yangpeng/article/details/51906654 在使用SpringMVC的时候我们可以使用Spring封装的一系列表单标 ...

  5. SpringMVC from 表单标签和 input 表单标签

    刚学习很懵  不知道还有springmvc 自己的表单  于是乎就上网查了一下  这个真的好用多啦 刚学习很懵  不知道还有springmvc 自己的表单  于是乎就上网查了一下  这个真的好用多啦 ...

  6. html_table标签和from表单标签小试手

    Html Body中table(表格)也是一个重要组成部分,下面列举一个简单的实例: ——————————————简单的table—————————————————— <!DOCTYPE HTM ...

  7. Spring MVC 数据绑定和表单标签库

    数据绑定是将用户输入绑定到领域模型的一种特性.作用是将 POJO 对象的属性值与表单组件的内容绑定. 数据绑定的好处: 1. 类型总是为 String 的 HTTP 请求参数,可用于填充不同类型的对象 ...

  8. struts2:表单标签

    目录 表单标签1. form标签2. submit标签3. checkbox标签4. checkboxlist标签5. combobox标签6. doubleselect标签7. head标签8. f ...

  9. struts2学习笔记之表单标签的详解:s:checkbox/radio/select/optiontransferselect/doubleselect/combobox

    struts2中的表单标签都是以s标签的方式定义的,同时,struts2为所有标签都提供了一个模板,C:\Users\180172\Desktop\struts2-core-2.2.1.1.jar\t ...

  10. springMVC(7)---表单标签

    springMVC(7)---表单标签 form标签作用                                     简单来讲form表单有两大作用 1:第一就是往后端提交数据或者前端回显 ...

随机推荐

  1. Fresco源码解析 - DataSource怎样存储数据

    Fresco源码解析 - DataSource怎样存储数据 datasource是一个独立的 package,与FB导入的guava包都在同一个工程内 - fbcore. datasource的类关系 ...

  2. 关于mybatis的参数2个使用经验(类似于struts2的通配所有页面的action配置,xmlsq语句参数类型为基本类型时的快捷指定办法)

    1.我们都知道在struts2中为防止浏览器绕过struts过滤器直接请求页面,所以我们都会配置一个拦截所有页面的action,如下: <action name="*"> ...

  3. PAT乙级 1024. 科学计数法 (20)

    1024. 科学计数法 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 HOU, Qiming 科学计数法是科学家用来表示很 ...

  4. opencv的一次性配置

    最近做自然场景中的文字识别,想尝试些图像处理方法,感觉每一种方法都需要自己写很麻烦,自然就想到了强大的开源的跨平台计算机视觉库OpenCv.我用的是opencv2.4.9版本,VS用的是2010,他们 ...

  5. COM编程之四 引用计数

    [1]客户为什么不应直接控制组件的生命期? 假设一个组件A正在使用另一个组件B,可想组件A(客户)代码中肯定有若干个指向组件B接口的指针. 那么这种情况下,当使用完一个接口而仍然在使用另一个接口时,是 ...

  6. 请求在Struts2框架中的处理步骤

    上图来源于Struts2官方站点,是Struts 2 的整体结构. 一个请求在Struts2框架中的处理大概分为以下几个步骤 1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2 ...

  7. 161208、Java enum 枚举还可以这么用

    在大部分编程语言中,枚举类型都会是一种常用而又必不可少的数据类型,Java中当然也不会例外.然而,Java中的Enum枚举类型却有着许多你意想不到的用法,下面让我们一起来看看. 先来看一段代码示例: ...

  8. 161124、Java 异常处理的误区和经验总结

    本文着重介绍了 Java 异常选择和使用中的一些误区,希望各位读者能够熟练掌握异常处理的一些注意点和原则,注意总结和归纳.只有处理好了异常,才能提升开发人员的基本素养,提高系统的健壮性,提升用户体验, ...

  9. 分析Linux内核创建一个新进程的过程【转】

    转自:http://www.cnblogs.com/MarkWoo/p/4420588.html 前言说明 本篇为网易云课堂Linux内核分析课程的第六周作业,本次作业我们将具体来分析fork系统调用 ...

  10. ubunt1204安装配置vsftp

    本文将搭建一个最简单的ftp服务,即通过root用户可进行登录.上传.下载,具体步骤如下: 1.安装vsftpd服务 sudo apt-get install vsftpd 2.编辑vsftp配置文件 ...