版权声明:博客知识产权来源命运的信徒,切勿侵权 https://blog.csdn.net/qq_37591637/article/details/84957173
显示如下页面
两个action类
package cn.com.action;
public class Role {
private Integer roleid;
private String rolename;
public Integer getRoleid() {
return roleid;
}
public void setRoleid(Integer roleid) {
this.roleid = roleid;
}
public String getRolename() {
return rolename;
}
public void setRolename(String rolename) {
this.rolename = rolename;
}
@Override
public String toString() {
return "Role [roleid=" + roleid + ", rolename=" + rolename + "]";
}
public Role(Integer roleid, String rolename) {
super();
this.roleid = roleid;
this.rolename = rolename;
}
}
package cn.com.action;
public class Employ {
private Integer emid;
private String emname;
public Integer getEmid() {
return emid;
}
public void setEmid(Integer emid) {
this.emid = emid;
}
public String getEmname() {
return emname;
}
public void setEmname(String emname) {
this.emname = emname;
}
@Override
public String toString() {
return "Employ [emid=" + emid + ", emname=" + emname + "]";
}
public Employ(Integer emid, String emname) {
super();
this.emid = emid;
this.emname = emname;
}
}
一个dao
package cn.com.action;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.struts2.interceptor.RequestAware;
public class Dao implements RequestAware{
/*author:命运的信徒
* date:2018/12/11
* arm:对struts2表单的应用
*/
private List<Role> roles=new ArrayList<Role>();
private List<Employ> employs=new ArrayList<Employ>();
public List<Role> getRoles() {
return roles;
}
public void setRoles(List<Role> roles) {
this.roles = roles;
}
public List<Employ> getEmploys() {
return employs;
}
public void setEmploys(List<Employ> employs) {
this.employs = employs;
}
private Map<String, Object> request;
@Override
public void setRequest(Map<String, Object> arg0) {
// TODO Auto-generated method stub
request=arg0;
}
public String save(){
roles.add(new Role(1, "jhon"));
roles.add(new Role(2, "marry"));
roles.add(new Role(3, "lily"));
roles.add(new Role(4, "maza"));
employs.add(new Employ(1, "teacher"));
employs.add(new Employ(2, "student"));
employs.add(new Employ(3, "doctor"));
request.put("roles", roles);
request.put("employs", employs);
return "success";
}
}
jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>struts2表单标签的示例</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
<s:debug></s:debug>
<s:form action="fb">
<s:textfield name="username" label="Name"></s:textfield>
<s:password name="password" label="Pass"></s:password>
<!-- 二选一的情况 -->
<s:radio name="xb" list="#{'0':'men','1':'women' }" label="性别"></s:radio>
<!-- list="取到的集合" -->
<s:select list="#request.roles" listkey="roleid" listValue="rolename" name="role" label="姓名"></s:select>
<s:checkboxlist list="#request.employs" listKey="emid" listValue="emname" name="emy" label="角色"></s:checkboxlist>
<s:submit></s:submit>
</s:form>
</body>
</html>
提交Action 类
package cn.com.action;
public class UserInfo {
private String username;
private String password;
private Boolean xb;
private String role;
private String emy;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Boolean getXb() {
return xb;
}
public void setXb(Boolean xb) {
this.xb = xb;
}
public String getEmy() {
return emy;
}
public void setEmy(String emy) {
this.emy = emy;
}
public String getRole() {
return role;
}
public void setRole(String role) {
this.role = role;
}
public String execute(){
System.out.println(this.toString());
return "success";
}
@Override
public String toString() {
return "UserInfo [username=" + username + ", password=" + password
+ ", xb=" + xb + ", role=" + role + ", emy=" + emy + "]";
}
}
显示页面
<body>
名称:${username }<br>
密码:${password }<br>
性别:${xb }<br>
职业:${role}<br>
角色:${emy }<br>
</body>
效果如下:
缺陷 所在:
我应该显示的是具体的职业和名称和性别,前端页面和后台的属性要一致,所以是String类型,但是我获取的是对象,怎么获取集合中一个属性?我觉得两者冲突了?