Struts2的标签库(五)——表单标签
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的标签库(五)——表单标签的更多相关文章
- Struts2_day04--自定义拦截器_Struts2的标签库_表单标签
自定义拦截器 1 在struts2里面有很多的拦截器,这些拦截器是struts2封装的功能,但是在实际开发中,struts2里面的拦截器中可能没有要使用的功能,这个时候需要自己写拦截器实现功能 2 拦 ...
- 基于Struts2框架实现登录案例 之 使用Struts2标签库简化表单+继承ActionSupport完成输入交验
一,使用Struts2标签库简化表单 在文章[基于Struts2框架实现登录案例]的基础上,通过使用Struts标签库可以简化登录页面login2.jsp <%@ page language=& ...
- SpringMVC学习记录(五)--表单标签
在使用SpringMVC的时候我们能够使用Spring封装的一系列表单标签,这些标签都能够訪问到ModelMap中的内容. 以下将对这些标签一一介绍. 1.引入标签头文件 在正式介绍SpringMVC ...
- [转]SpringMVC<from:form>表单标签和<input>表单标签简介
原文地址:https://blog.csdn.net/hp_yangpeng/article/details/51906654 在使用SpringMVC的时候我们可以使用Spring封装的一系列表单标 ...
- SpringMVC from 表单标签和 input 表单标签
刚学习很懵 不知道还有springmvc 自己的表单 于是乎就上网查了一下 这个真的好用多啦 刚学习很懵 不知道还有springmvc 自己的表单 于是乎就上网查了一下 这个真的好用多啦 ...
- html_table标签和from表单标签小试手
Html Body中table(表格)也是一个重要组成部分,下面列举一个简单的实例: ——————————————简单的table—————————————————— <!DOCTYPE HTM ...
- Spring MVC 数据绑定和表单标签库
数据绑定是将用户输入绑定到领域模型的一种特性.作用是将 POJO 对象的属性值与表单组件的内容绑定. 数据绑定的好处: 1. 类型总是为 String 的 HTTP 请求参数,可用于填充不同类型的对象 ...
- struts2:表单标签
目录 表单标签1. form标签2. submit标签3. checkbox标签4. checkboxlist标签5. combobox标签6. doubleselect标签7. head标签8. f ...
- struts2学习笔记之表单标签的详解:s:checkbox/radio/select/optiontransferselect/doubleselect/combobox
struts2中的表单标签都是以s标签的方式定义的,同时,struts2为所有标签都提供了一个模板,C:\Users\180172\Desktop\struts2-core-2.2.1.1.jar\t ...
- springMVC(7)---表单标签
springMVC(7)---表单标签 form标签作用 简单来讲form表单有两大作用 1:第一就是往后端提交数据或者前端回显 ...
随机推荐
- Cookie—的使用
编写 Cookie 浏览器负责管理用户系统上的 Cookie.Cookie 通过 HttpResponse 对象发送到浏览器,该对象公开称为 Cookies 的集合. 可以将 HttpResponse ...
- logstash5.x改变
5.x版本 logstash中 elasticsearch插件的workers,无法配置大于1,会提示 This plugin uses the shared and doesn't need thi ...
- 20道C#练习题(二)11——20题
11.一个游戏,前20关是每一关自身的分数,1-30关每一关是10分,31-40关,每一关是20分,1-49关,每一关是30分,第50关是100分,输入你现在闯到的关卡数,求你现在拥有的分数.利用if ...
- 使用 nano 的时候提示找不到 libncursesw.so.5 这个共享库
由于拿nano来练习pacman这个包管理系统,也就是卸了装,装了卸.但是后来当我想用 nano 编辑文件的时候,系统提示标题上说的这错误. 不知道做了什么,难道是误删了什么东西...后来几番搜索,用 ...
- viewpager viewpager+fragment
内页面 不单写页面 viewpager+布局 import java.util.ArrayList; import java.util.List; import android.os.Bundl ...
- html 复习
通过几次修改网页的经历,发现相关基础知识之薄弱,不得不再次花时间复习一遍.希望这是最后一次. 一 通用声明 HTML5 <!DOCTYPE html> HTML 4.01 <!DOC ...
- selenium 右键另存为操作
from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsbrowse ...
- [转]微软SerialPort秘籍[SerialPort为什么死锁程序的分析]
既然是秘籍,显然是写一些大家不常找到的,MSDN里遗漏提示大家注意的东西. 用过.net 2.0中,自带SerialPort的人,大多都遇到过.莫名其妙的执行Close的时候会死掉的问题.而Wince ...
- Verilog语法基础讲解之参数化设计
Verilog语法基础讲解之参数化设计 在Verilog语法中,可以实现参数化设计.所谓参数化设计,就是在一个功能模块中,对于一个常量,其值在不同的应用场合需要设置为不同的置,则将此值在设计时使用 ...
- VirtualBox启动虚拟机报错0x80004005
Unable to load R3 module C:\Program Files\Oracle\VirtualBox/VBoxDD.DLL (VBoxDD): GetLastError=1790 ( ...