package com.loaderman.crm.action;

import com.loaderman.crm.entity.User;
import com.loaderman.crm.service.UserService;
import com.loaderman.crm.service.impl.UserServiceimp;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import org.apache.struts2.ServletActionContext; import javax.servlet.http.HttpServletRequest; public class AddUserAction extends ActionSupport implements ModelDriven<User> {
private User user = new User(); public String execute() throws Exception {
System.out.println(user.toString());
UserService studentService = new UserServiceimp();
HttpServletRequest request1 = ServletActionContext.getRequest();
String opr = request1.getParameter("opr");
int n = 0;
if (opr.equals("addUser")) {
n = studentService.addUser(user);
} else if (opr.equals("modifyUser")) {
int id = Integer.parseInt(request1.getParameter("id"));
user.setId(id);
n = studentService.modifyUser(user);
}
if (n > 0) {
return "getUserList";
} else {
return "addUser";
}
} @Override
public User getModel() {
return user;
}
}

使用ModelDriven可以接收表单传递过来的表单数据

使用下面可接收单个参数的数据

HttpServletRequest request1 = ServletActionContext.getRequest();

String opr = request1.getParameter("opr");

下面可以实现将actio数据传递到jsp页面显示

package com.loaderman.crm.action;

import com.loaderman.crm.entity.Policy;
import com.loaderman.crm.service.PolicyService;
import com.loaderman.crm.service.impl.PolicyServiceimp;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.RequestAware; import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map; public class GetPolicyListAciton extends ActionSupport implements RequestAware {
private Map<String, Object> request;
public String execute() throws Exception {
HttpServletRequest request1 = ServletActionContext.getRequest();
System.out.println("GetPolicyListAciton");
String name = request1.getParameter("name");
System.out.println("name"+name);
if (name!=null&&(!name.isEmpty())){
System.out.println("查询部分");
name =new String(name.getBytes("ISO8859-1"), "UTF-8");
PolicyService stuService = new PolicyServiceimp();
List<Policy> list = stuService.getPolicyMoreInfoByName(name);
request.put("list", list);
}else {
PolicyService stuService = new PolicyServiceimp();
List<Policy> list = stuService.getAllPolicy();
request.put("list", list);
} return "success"; } @Override
public void setRequest(Map<String, Object> request) {
this.request = request;
}
}
package com.loaderman.crm.action;

import com.loaderman.crm.entity.User;
import com.loaderman.crm.service.UserService;
import com.loaderman.crm.service.impl.UserServiceimp;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.ServletActionContext; import javax.servlet.http.HttpServletRequest;
import java.util.List; public class GetUserListAction extends ActionSupport { public String execute() throws Exception {
HttpServletRequest request1 = ServletActionContext.getRequest();
String name = request1.getParameter("name");
System.out.println("GetUserListAction name" + name);
if ( name != null && (! name.isEmpty())) {
// name =new String(name.getBytes("ISO8859-1"), "UTF-8");
UserService stuService = new UserServiceimp();
List<User> list = stuService.getUserByName( name);
ActionContext.getContext().getSession().put("list", list);
} else {
UserService stuService = new UserServiceimp();
List<User> list = stuService.getAllUser();
ActionContext.getContext().getSession().put("list", list); }
return "success";
} }
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<%@ page isELIgnored="false" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>客户信息列表</title>
<link href="${pageContext.request.contextPath }/css/common.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript">
function check() {
var mymessage = confirm("确定要删除吗?");
if (mymessage == true) {
return true;
}
else if (mymessage == false) {
return false;
} } </script>
</head>
<body>
<div align="right">欢迎你,${account.username } &nbsp;&nbsp;&nbsp;<a href="logout.jsp">退出</a></div>
<h2>客户信息列表</h2>
<div align="right" style="margin-right: 50px">
<form action="/getUserList" style="text-align: right" >
<tr>
<input type="text" placeholder="请输入要查询姓名" name="name"></td>
</tr>
<td ><input type="submit" value="查询"></td>
</tr>
</form>
<p>
<a href="/pages/addUser.jsp"><input type="button" value="添加客户"></a>
<a href="/getPolicyList"><input type="button" value="保单列表"></a>
</p> </div> <table>
<tr>
<td class="listTable">编号</td>
<td class="listTable">姓名</td>
<td class="listTable">性别</td>
<td class="listTable">年龄</td>
<td class="listTable">电话</td>
<td class="listTable">等级</td>
<td class="listTable">身份证</td>
<td class="listTable">地区</td>
<td class="listTable">地址</td>
<td class="listTable">微信</td>
<td class="listTable">QQ</td>
<td class="listTable">邮箱</td>
<td class="listTable">职业</td>
<td id="profile">备注</td>
<td id="operate">操作</td>
</tr> <c:forEach items="${list}" var="user" varStatus="status" >
<tr>
<td>${status.count}
</td>
<td>${user.getName()}
</td> <td>${user.getSex()}
</td>
<td>${user.getAge()}
</td>
<td>${user.getTelephone()}
</td>
<td>${user.getGrade()}
</td>
<td>${user.getIdCard()}
</td>
<td>${user.getArea()}
</td>
<td>${user.getAddress()}
</td>
<td>${user.getWeixin()}
</td>
<td>${user.getQq()}
</td>
<td>${user.getEmail()}
</td>
<td>${user.getJob()}
</td>
<td>${user.getRemark()}
</td>
<td><a href="/pages/userDetail.jsp?id=${user.getId()}">查看&nbsp;&nbsp;</a>
<a href="/pages/modifyUser.jsp?id=${user.getId()}">修改&nbsp;&nbsp;</a>
<a href="${pageContext.request.contextPath }/delUser?id=${user.getId()}"
onclick="return check()">删除&nbsp;&nbsp;</a></td>
</tr>
</c:forEach > </table> </body>
</html>

struts2之Action与JSP相互数据传递的更多相关文章

  1. Liferay7 BPM门户开发之40: Form表单的Action到Render的数据传递

    在Form提交后的变量,很多情况是要展现在jsp页面中,这时Action到Render的变量传递就非常有用. 例如,您在数据库中添加了学生的详细信息. 为了实现这一需求,先创建Form表单(学生的细节 ...

  2. JSP实现数据传递与保存

    业务逻辑: 1.登陆login.jsp 2.判断登陆是否成功check.jsp 3.登陆成功页面newsDetail.jsp 4.登陆失败转发到login.jsp 代码如下: <%@ page ...

  3. Struts2 后台action接收 jsp页面中checkbox中的值

    如前端页面jsp中的标签为: <form action="myurl"> <input type="checkbox" name=" ...

  4. JSP实现数据传递(web基础学习笔记三)

    get和post的区别: JSP内置对象: 1)out内置对象:out内置对象是在JSP开发过程中使用得最为频繁的对象,然而其使用起来也是最简单的.out对象用于向客户端浏览器输出数         ...

  5. Struts2之Action与配置文件

    一.Struts2配置文件 1.struts.properties 在学习Action之前先学下Struts2的配置文件,与Struts2相关的配置文件有好几个,常用的有Struts.xml,web. ...

  6. struts2在action中获取request、session、application,并传递数据

    假设仅仅是通过request.session.application传递数据,则不须要获取对应的对象也能够传递数据,代码例如以下: ScopeAction.java: package com.ithe ...

  7. 一、JSP、servlet、SQL三者之间的数据传递(前台与后台数据交互)

    背景: 目前业界很流行的MVC(model-view-control)开发模式,理解为 模型是Bean, 视图是 Html/Jsp, 控制是Servlet, 关联数据库的Dao web的运行机制: 数 ...

  8. JSP Servlet SQL 三者之间数据传递

    前言: 最近一直在做WEB开发,现总结一下这一段时间的体会和感触. 切记,web开发重点在于前台数据交互,页面美化而不要太沉溺于底层数据. 浏览器时代来到,向我们召唤出更炫.更简洁.更方便.更大气的网 ...

  9. Struts2初学 Struts2的action接收用户数据方式

    一.简介    开发Web应用程序,首先应会遇到对用户输入数据的接收,传统的Web应用程序是由开发人员调用HttpServletRequest的getparameter(String name)方法从 ...

随机推荐

  1. 【DevOps】在CentOS中安装Rancher2,并配置kubernetes集群

    准备 一台CentOS主机,安装DockerCE,用于安装Rancher2 一台CentOS主机,安装DockerCE,用于安装kubernetes集群管理主机 多台CentOS主机,安装Docker ...

  2. RT-Thread--中断管理

    Cortex-M CPU架构基础 寄存器简介 Cortex-M 系列 CPU 的寄存器组里有 R0\~R15 共 16 个通用寄存器组和若干特殊功能寄存器,如下图所示. 通用寄存器组里的 R13 作为 ...

  3. git 在不同服务器主机上同步 git 仓库

    git 在不同服务器主机上同步 git 仓库 参考链接:https://opentechguides.com/how-to/article/git/177/git-sync-repos.html 1. ...

  4. TCP三次握手,四次回收的每一步的解释

    三次握手 第一次握手:主机A发送位码为syn=1,随机产生seq number=10001的数据包到服务器,主机B由SYN=1知道,A要求建立联机,此时状态为SYN_SENT: 第二次握手:主机B收到 ...

  5. 几个牛X的js开发技巧

    1. 确保数组值 使用 grid ,需要重新创建原始数据,并且每行的列长度可能不匹配, 为了确保不匹配行之间的长度相等,可以使用Array.fill方法. let array = Array(5).f ...

  6. sql server 悲观锁和乐观锁的作用

    sql server对并发的处理-乐观锁和悲观锁 假如两个线程同时修改数据库同一条记录,就会导致后一条记录覆盖前一条,从而引发一些问题. 例如: 一个售票系统有一个余票数,客户端每调用一次出票方法,余 ...

  7. How To Add User To Sudoers On Debian 10 Buster

    In today’s tutorial, we are going to see how you can add a user to sudoers on Debian distributions. ...

  8. MongoDB 副本集的常用操作及原理

    本文是对MongoDB副本集常用操作的一个汇总,同时也穿插着介绍了操作背后的原理及注意点. 结合之前的文章:MongoDB副本集的搭建,大家可以在较短的时间内熟悉MongoDB的搭建和管理. 下面的操 ...

  9. leetcode解题报告(15):Third Maximum Number

    描述 Given a non-empty array of integers, return the third maximum number in this array. If it does no ...

  10. 每秒浮点运算次数flops

    每秒浮点运算次数[编辑] 维基百科,自由的百科全书     跳到导航跳到搜索 此条目需要补充更多来源. (2018年2月28日)请协助添加多方面可靠来源以改善这篇条目,无法查证的内容可能会因为异议提出 ...