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. 温控PID自测验程序

    #pragma once #ifndef _PID_H_ #define _PID_H_ #include <vector> #include <map> using name ...

  2. js中的forEach和map的区别

    我们先来看两者之间的相同之处 var arr = ['a','b','c','d']; arr.forEach(function(item,index,arr){ //item表示数组中的每一项,in ...

  3. java 从上至下打印二叉树

    从上往下打印二叉树题目描述: 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 输入: 输入可能包含多个测试样例. 对于每个测试案例,输入的第一行一个整数n(1<=n<=1000, ...

  4. python实现查找算法

    搜索是在一个项目集合中找到一个特定项目的算法过程.搜索通常的答案是真的或假的,因为该项目是否存在. 搜索的几种常见方法:顺序查找.二分法查找.二叉树查找.哈希查找 线性查找线性查找就是从头找到尾,直到 ...

  5. 利用videojs自动播放下一个

    利用videojs自动播放下一个 一.总结 一句话总结: 在视频放完的ended方法里面,指定video的src,然后this.play()放视频就好 vue来控制视频的链接也是蛮不错的 this.o ...

  6. 创建型模式(一) 单例模式(Singleton)

    一.动机(Motivation) 在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例,才能确保它们的逻辑正确性.以及良好的效率. 如何绕过常规的构造器,提供一种机制来保证一个类只 ...

  7. 07_gitee源码参考

    Django REST framework Tutorial 教程 码云:https://gitee.com/venicid/tutorial-api

  8. 第五章 CSS美化网页元素

    一.span标签:能让某几个文字或者某个词语凸显出来 <p> 今天是11月份的<span>第一天</span>,地铁卡不打折了 </p> 二.字体风格 ...

  9. php MySQL 选择数据库

    在你连接到 MySQL 数据库后,可能有多个可以操作的数据库,所以你需要选择你要操作的数据库. 从命令提示窗口中选择MySQL数据库 在 mysql> 提示窗口中可以很简单的选择特定的数据库.你 ...

  10. jq导航

    做外部前端都会用到导航栏应用 一般导航应用会鼠标碰到变颜色  或子导航出现 下面为基本的导航 <div class="header"> <ul style=&qu ...