mgr.jsp如下:
<%--
Created by IntelliJ IDEA.
User: guoying
Date: 2017/6/12
Time: 下午8:21
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%-- 此处防止Struts2 跳转后,css样式消失 --%>
<base href="http://localhost:8080">
<html>
<head>
<title>管理页面</title>
<link rel="stylesheet" href="css/style_mgr.css" type="text/css">
<script>
function infoUser(count) {
var targetFormInfo = document.forms[count];
targetFormInfo.action = "<%=request.getContextPath()%>/jane/manager_info.do";
targetFormInfo.submit();
}
function deleteUser(count) {
var targetFormDelete = document.forms[count];
targetFormDelete.action = "<%=request.getContextPath()%>/jane/manager_delete.do";
targetFormDelete.submit();
}
</script>
</head>
<body>
<div id="middle">
ID 用户名 真实名字 年龄 手机号 地址 操作<br>
<c:forEach items="${list}" var="user" varStatus="status">
<form method="post">
<input type="text" value="${user.getId()}" name="id" id="id" readonly>
<input type="text" value="${user.getUserName()}" name="userName" id="userName" readonly>
<input type="text" value="${user.getPassword()}" name="password" id="password" style="display: none" readonly>
<input type="text" value="${user.getRealName()}" name="realName" id="realName" readonly>
<input type="text" value="${user.getAge()}" name="age" id="age" readonly>
<input type="text" value="${user.getPhoneNum()}" name="phone" id="phone" readonly>
<input type="text" value="${user.getAddress()}" name="address" id="address" readonly>
<input type="submit" id="info" onclick="infoUser(${status.index})" value="详情">
<input type="submit" id="delete" onclick="deleteUser(${status.index})" value="删除"><br>
</form>
</c:forEach>
</div>
</body>
</html>
需求1: mgr.jsp中需要从ManagerAction.do中取list的值然后foreach循环显示,前提就是ManagerAction中有个public的list
需求2: 每组值对应的删除、详情功能的实现:将每组值放到不同的form里,使用${status.index}来计数index,这样只需要操作对应的表单就可以了。。每个删除、详情按钮定义click不同的click事件,详见mgr.jsp中的代码
managerAction.java
package com.jane.action;
import com.jane.entity.UsersEntity;
import com.jane.service.impl.ManagerServiceImpl;
import com.jane.utils.HibernateUtils;
import com.opensymphony.xwork2.ActionContext;
import java.util.ArrayList;
import java.util.List;
/**
* Created by guoying on 2017/6/14.
*/
public class ManagerAction {
private int id;
private String userName;
private String realName;
private int age;
private String phone;
private String address;
private String password;
private UsersEntity usersEntity = new UsersEntity();
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getRealName() {
return realName;
}
public void setRealName(String realName) {
this.realName = realName;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public ManagerServiceImpl getManagerService() {
return managerService;
}
public void setManagerService(ManagerServiceImpl managerService) {
this.managerService = managerService;
}
public List<UsersEntity> getList() {
return list;
}
public void setList(List<UsersEntity> list) {
this.list = list;
}
public UsersEntity getUsersEntity() {
return usersEntity;
}
public void setUsersEntity(UsersEntity usersEntity) {
this.usersEntity = usersEntity;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
private ManagerServiceImpl managerService = new ManagerServiceImpl();
public List<UsersEntity> list = new ArrayList<UsersEntity>();
public String delete() {
managerService.deleteUser(id,userName,password,realName,age,address,phone);
list = managerService.findAllUsers();
return "delete";
}
public String info() {
usersEntity = managerService.getInfo(id);
return "info";
}
public String main() {
list = managerService.findAllUsers();
return "main";
}
}
Struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<constant name="struts.i18n.encoding" value="UTF-8"/>
<constant name="struts.action.extension" value="do"/>
<constant name="struts.serve.static.browserCache" value="false"/>
<constant name="struts.devMode" value="true"/>
<constant name="struts.configuration.xml.reload" value="true"/>
<constant name="struts.ui.theme" value="simple"/>
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<package name="test" extends="struts-default" namespace="/jane">
<action name="login" class="com.jane.action.LoginAction" method="execute">
<result name="success">/mgr.jsp</result>
</action>
<action name="registe" class="com.jane.action.RegisteAction" method="execute">
<result name="success">/mgr.jsp</result>
</action>
<action name="manager" class="com.jane.action.ManagerAction" method="main">
<result name="main">/mgr.jsp</result>
</action>
<action name="manager_info" class="com.jane.action.ManagerAction" method="info">
<result name="info">/info.jsp</result>
</action>
<action name="manager_delete" class="com.jane.action.ManagerAction" method="delete">
<result name="delete">/mgr.jsp</result>
</action>
</package>
</struts>