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. linux使用文本编辑器vi常用命令

    一:翻页 ctrl+u向上翻半页 ctrl+d   向下翻半页 ctrl+f/page up向上翻一页 ctrl+b/page on   向下翻一页 H光标移到当前页的第一个字符 M光标移到当前页的中 ...

  2. css完结篇

    1.如何让一个绝对定位的盒子居中 left:50%; margin-left:-宽度的一半; 2.固定定位 position:fixed; 1.脱标 参考点:浏览器左上角 作用:固定导航栏,返回顶部, ...

  3. DTcmsV4.0分析学习——(1)数据库结构分析

    数据库名:DTcmsdb4 DTcmsV4.0共35张表(33张表+2张插件表) dt_article 内容管理 dt_article_albums 图片相册 dt_article_attach 附件 ...

  4. Java位运算总结:位运算用途广泛

    前天几天研究了下JDK的Collection接口,本来准备接着研究Map接口,可是一查看HashMap类源码傻眼咯,到处是位运算实现,所以我觉得还是有必要先补补位运算知识,不然代码看起来有点费力.今天 ...

  5. tomcat实现文件上传下载

    实现下载 修改server.xml修改web.xml   实现上传 实现客户端的上传post请求代码实现 实现服务端的处理   小结         实现下载 实现下载需要  - 修改Tomcat中的 ...

  6. [0, 1] 区间内 n 次独立随机事件的一些问题

    问题一 证明:一根1米长的绳子,随机切成 $N$ 刀,变成($N+1$)根绳子,则最短的一根绳子长度的期望为 $\displaystyle \frac{1}{(N+1)^2}$. 证: 引理:当分成 ...

  7. 2019牛客暑期多校训练营(第十场)Han Xin and His Troops——扩展中国剩余定理

    题意 求解 $n$ 个模方程 $x \equiv a (mod \ b)$,不保证模数互素($1 \leq n \leq 100$,$0 \leq b < a< 10^5$). 分析 套扩 ...

  8. 测试使用API

    https://api.github.com/users/github 返回值中的某些URL也可以作为测试API使用

  9. 45 | 自增id用完怎么办?

    MySQL 里有很多自增的 id,每个自增 id 都是定义了初始值,然后不停地往上加步长.虽然自然数是没有上限的,但是在计算机里,只要定义了表示这个数的字节长度,那它就有上限.比如,无符号整型 (un ...

  10. 运行级别 runlevel

    linux默认有7个等级,从0到6 0 关机 1 单用户模式,系统出现问题是可使用该模式进入系统.例如完了root密码,就可以使用1进入系统修改root密码 2 多用户模式,没有网络连接 3 完全多用 ...