12.struts2_表单标签

来源:互联网 发布:增城楼盘成交数据 编辑:程序博客网 时间:2024/06/06 03:45

使用表单标签的优点

1.表单回显

2.对页面进行布局和排版



<%@ 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>Insert title here</title></head><body><% request.setAttribute("theme", "xhtml");%><!-- 回显的时候, 会从栈顶对象寻找,再显示 --><s:form action="emp-save"><s:textfield name="name" label="Name"></s:textfield><s:password name="password" label="Password"></s:password><s:radio name="gender" list="#{'1':'Male','0':'Female' }" label="Gender"></s:radio><s:select list="#request.depts" listKey="deptId"listValue="deptName" name="dept" label="Department" headerValue="请选择"></s:select><s:checkboxlist list="#request.roles" listKey="roleId"listValue="roleName" name="roles" label="Role"></s:checkboxlist><s:textarea name="desc" label="Desc"></s:textarea><!-- 这个checkbox是单选框,而checkboxlist是多选 而与原生单选框相比,无论是否勾选,都会传给后台。但是html原生单选框如果不选就不会提到后台--><s:checkbox name="conform" label="单选"></s:checkbox><s:submit></s:submit></s:form></body></html>


action类

public class Employee implements RequestAware{private Map<String, Object> requestMap = null;private Dao dao = new Dao();private String name;private String password;private String gender;private String dept;private List<String> roles;private String desc;private boolean conform;public boolean isConform() {return conform;}public void setConform(boolean conform) {this.conform = conform;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}public String getDept() {return dept;}public void setDept(String dept) {this.dept = dept;}public List<String> getRoles() {return roles;}public void setRoles(List<String> roles) {this.roles = roles;}public String getDesc() {return desc;}public void setDesc(String desc) {this.desc = desc;}public String save(){System.out.println("save: " + this);return "save";}//继承RequestAware后,注入requestMap,再通过DAO将多选框值放入,带到页面显示多选内容public String input(){requestMap.put("depts", dao.getDepartments());requestMap.put("roles", dao.getRoles());return "input";}@Overridepublic void setRequest(Map<String, Object> request) {this.requestMap = request;}@Overridepublic String toString() {return "Employee [name=" + name + ", password=" + password + ", gender=" + gender + ", dept=" + dept+ ", roles=" + roles + ", desc=" + desc + ", conform=" + conform + "]";}}



struts.xml

<action name="emp-*" class="com.atguigu.struts.valuestack.app.Employee" method="{1}"><result name="{1}">/emp-{1}.jsp</result></action>



原创粉丝点击