Struts2与jsp之前传递值

来源:互联网 发布:ie没有java加载项 编辑:程序博客网 时间:2024/06/05 19:05

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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用户名&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;真实名字&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;年龄&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;手机号&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;地址&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;操作<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>