12.struts2_表单标签

使用表单标签的优点

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";
	}

	@Override
	public void setRequest(Map<String, Object> request) {
		this.requestMap = request;
	}

	@Override
	public 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>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值