Struts2学习笔记(十):Strut2表单标签详解
2015-09-13 19:06
591 查看
Struts2提供了一系列用于表单的标签,本文主要对这些标签的用法做个介绍,仍然采用代码+注释的形式进行讲解。
<%@page import="com.jiajia.model.Group"%> <%@page import="java.util.HashMap"%> <%@page import="java.util.Map"%> <%@page import="java.util.ArrayList"%> <%@page import="java.util.List"%> <%@page import="com.jiajia.model.Course"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!-- 添加struts标签所需的标签库 --> <%@ 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>Insert title here</title> </head> <body> <!-- 为了在网页中看到valueStack,必须加上该条配置 --> <s:debug></s:debug> <% List<Group> groups = new ArrayList<Group>(); groups.add(new Group(1,"basketball")); groups.add(new Group(2,"baseball")); groups.add(new Group(3,"chess")); groups.add(new Group(4,"music")); request.setAttribute("groups", groups); String []grades = new String[]{"一年级","二年级","三年级"}; request.setAttribute("grades", grades); List<Course> courses = new ArrayList<Course>(); courses.add(new Course(1,"Math")); courses.add(new Course(2,"English")); courses.add(new Course(3,"Politics")); courses.add(new Course(4,"History")); request.setAttribute("courses", courses); List<Course> sCourses = new ArrayList<Course>(); sCourses.add(new Course(1,"Machine Learning")); sCourses.add(new Course(2,"Pattern Recognition")); sCourses.add(new Course(3,"Data Mining")); sCourses.add(new Course(4,"Statistic")); request.setAttribute("sCourses", sCourses); %> <!-- Struts2表单标签的一个非常大的好处是可以自动实现表单回显功能。 需要注意的是,为了实现回显功能,form对应的Action类中必须有 与form中各个标签的name属性对应的属性,并有相应的getter和setter方法。 --> <s:form action="userAction"> <!-- 普通输入框,name属性用于访问里面的内容,label属性用于在输入框前面显示文本。 --> <s:textfield name="name" label="用户名"/> <!-- 密码输入框 showPassword属性决定表单回显是否将密码一块儿回显--> <s:password name="password" label="密码" showPassword="true"></s:password> <!-- 多行文本输入框 --> <s:textarea name="address" label="address"></s:textarea> <!-- checkbox 标签将呈现为一个 HTML 复选框元素. 该复选框元素通常用于提交一个布尔值。 无论该复选框是否被勾选,请求参数中都会增加这一个参数,勾选值为true,不勾选值为false --> <s:checkbox name="adult" label="成年"></s:checkbox> <!-- checkboxList标签提供的就是传统HTML中的checkbox功能,可以提供多个选项供用户选择。 list属性时必须填的,主要为checkboxList提供数据,可以接收String, 数组, Enumeration, Iterator, Map 或 Collection 赋给 list 属性. 下面的例子中,groups中的Group对象的个数即为复选框的个数,Group对象的groupId属性是实际被当做 请求参数的,groupName属性用于显示。 --> <s:checkboxlist name="groups" list="#request.groups" listKey="groupId" listValue="groupName"></s:checkboxlist> <!-- radio 标签将呈现为一组单选按钮, 单选按钮的个数与程序员通过该标签的 list 属性提供的选项的个数相同 --> <s:radio list="#request.grades" name="grade"/> <!-- select 标签将呈现一个 select 元素,仍然是靠list属性提供数据,multiple属性指示是否可以多选 . s:optgroup作为select的子标签可以提供选项组,组里的内容依然是使用list,listKey,listValue来组织。 --> <s:select list="#request.courses" listKey="courseId" listValue="courseName" name="courses" multiple="true"> <s:optgroup list="#request.sCourses" listKey="courseId" listValue="courseName" label="super courses"></s:optgroup> </s:select> <s:submit value="提交"></s:submit> </s:form> <br/><br/> <br/><br/> <br/><br/> <br/><br/> <br/><br/> </body> </html>完整的示例代码在这里:http://download.csdn.net/detail/jiajia333666/9103333
相关文章推荐
- 软考--J2SE
- java学习:用Map替代众多的if-else
- 我的java实验
- Java记录 -30- 包装类
- Java线程池使用说明
- java集合框架之java HashMap代码解析
- Java中HashMap实现原理初探
- Java学习笔记——cmd对java的编译以及cmd对cpp的编译
- java多线程
- Java并发编程:线程池的使用
- 解决在windows的eclipse上面运行WordCount程序出现的一系列问题详解
- java编程---万年历
- java String分类trim,substring,replaceAll,indexOf使用功能
- java中接口有什么作用?请创建一个接口(举例)
- java程序性能优化第三章
- java__泛型
- Spring MVC @ResponseBody 提示 406 The resource identified by this request……
- Java记录 -28- String Literals字面值
- apktool + eclipse 调试smali
- java-使用SImpleDateFormat格式化时间输出