前台页面:

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <%@ taglib prefix="s" uri="/struts-tags" %>
  4.  
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  6. <html>
  7. <head>
  8. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  9. <title>Insert title here</title>
  10. <script type="text/javascript" src="scripts/jquery-1.9.1.min.js"></script>
  11. <script type="text/javascript">
  12. $(function(){
  13. //1点击删除的时候,确定删除吗?
  14. $(".delete").click(function(){
  15. var lastName=$(this).next(":input").val();
  16. var flag=confirm("确定要"+lastName+"删除吗?");
  17. if(flag){
  18. //删除,使用ajax的方式
  19. var url=this.href;
  20. var args={"time":new Date()};
  21. $.post(url,args,function(data){
  22. if(data=="1"){
  23. alert("删除成功");
  24. $tr.remove();
  25. }else{
  26. alert("删除失败")
  27. }
  28. });
  29. }
  30. //取消超链接的默认行为
  31. return false;
  32. });
  33. })
  34. </script>
  35. </head>
  36. <body>
  37.  
  38. <h4>Employee List Page</h4>
  39.  
  40. <s:if test="#request.employees == null || #request.employees.size() == 0">
  41. 没有任何员工信息
  42. </s:if>
  43. <s:else>
  44. <table border="1" cellpadding="10" cellspacing="0">
  45. <tr>
  46. <td>ID</td>
  47. <td>LASTNAME</td>
  48. <td>EMAIL</td>
  49. <td>BIRTH</td>
  50. <td>CREATETIME</td>
  51. <td>DEPT</td>
  52. <td>delete</td>
  53. </tr>
  54. <s:iterator value="#request.employees">
  55. <tr>
  56. <td>${id }</td>
  57. <td>${lastName }</td>
  58. <td>${email }</td>
  59. <td>${birth }</td>
  60. <td>${createtime }</td>
  61. <td>${department.departmentName } </td>
  62. <td><a href="emp-delete?id=${id }" class="delete">Delete</a>
  63. <input type="hidden" value="${lastName }">
  64. </td>
  65.  
  66. </tr>
  67. </s:iterator>
  68. </table>
  69. </s:else>
  70.  
  71. </body>
  72. </html>

ACTION中:

  1. public String delete(){
  2.  
  3. try {
  4. employeeService.deleteEmployee(id);
  5. inputStream = new ByteArrayInputStream("1".getBytes("UTF-8"));
  6. } catch (UnsupportedEncodingException e) {
  7. e.printStackTrace();
  8. try {
  9. inputStream=new ByteArrayInputStream("0".getBytes("UTF-8"));
  10. } catch (UnsupportedEncodingException e1) {
  11. // TODO Auto-generated catch block
  12. e1.printStackTrace();
  13. }
  14.  
  15. }
  16. return "delete";
  17. }
  18.  
  19. private InputStream inputStream;
  20. public InputStream getInputStream() {
  21. return inputStream;
  22. }

struts.xml文件中:

  1. <package name="default" namespace="/" extends="struts-default">
  2. <action name="emp-*" class="employeeAction"
  3. method="{1}">
  4. <result name="list">/emp-list.jsp</result>
  5.  
  6. <result type="stream" name="delete">
  7. <param name="contentType">text/html</param>
  8. <param name="inputName">inputStream</param>
  9. </result>
  10. </action>
  11.  
  12. </package>

AJAX在Struts2中使用的更多相关文章

  1. struts2中ajax的使用

    前面写过原生js实现ajax的博客,但是用起来不是太方便,jquery对原生的js进行了很好的封装,使用起来也更简单:但是在项目中使用了struts2,处理ajax却又不同,花了几天时间研究,终于解决 ...

  2. struts2中各个jar包作用

    Struts2.3.4 所需的Jar包及介绍 Jar包的分类 jar包名称 jar包版本 jar包 文件名 jar包 的作用 jar包内包含的主要包路径及主要类 依赖的自有jar包名称 依赖的第三方j ...

  3. struts2中的jar包

    核心包: (后面数字是版本号,不同struts2版本,数字可能不一样.) struts2-core-2.1.8.1 struts2的核心jar包,不可缺少的 xwork-core-2.1.6 xwor ...

  4. 简单理解Struts2中拦截器与过滤器的区别及执行顺序

    简单理解Struts2中拦截器与过滤器的区别及执行顺序 当接收到一个httprequest , a) 当外部的httpservletrequest到来时 b) 初始到了servlet容器 传递给一个标 ...

  5. struts2中如何使用主题theme

    一.什么是主题? 主题就是一种风格化标签,能够让所有UI标签能够产生同样的视觉效果而归集到一起的一组模板,即风格相近的模板被打包为一个主题 二.struts2提供的主题有哪些呢?struts2中如何修 ...

  6. Struts2 中result type属性说明

    Struts2 中result type属性说明 首先看一下在struts-default.xml中对于result-type的定义: <result-types><result-t ...

  7. 二十四、Struts2中的UI标签

    二十四.Struts2中的UI标签 Struts2中UI标签的优势: 数据回显 页面布局和排版(Freemark),struts2提供了一些常用的排版(主题:xhtml默认 simple ajax) ...

  8. struts2中的常量

    struts2中的常量: 在:struts2-core-2.1.8.1\org\apache\struts2\default.properties 文件里 <!-- 配制i18n国际化--> ...

  9. 关于struts2中action请求会执行两次的问题

    关于struts2中action请求会执行两次的问题     在struts2中发现,调用action中的方法,方法会被执行两次,后来发现调用的方法是get开头的,把它改为其他名称开头的后,就不会执行 ...

随机推荐

  1. SSH整合之_架构的历史序列图

    只用jsp最原始的架构 jsp+DB的2层架构 jsp+DB+_Entity的2层架构 jsp+DB+_Entity3_+Service的三层架构 jsp+DB+_Entity3_+Service_H ...

  2. aix上使用裸设备安装oracle10g数据库

    一.检查系统信息 [root@aix222 /]# oslevel -r 5300-08 [root@aix222 /]# prtconf | grep -i mem Memory Size: 190 ...

  3. mysql处理存在则更新,不存在则插入(多列唯一索引)

    mysql处理某个唯一索引时存在则更新,不存在则插入的情况应该是很常见的,网上也有很多类似的文章,我今天就讲讲当这个唯一的索引是多列唯一索引时可能会遇到的问题和方法. 方法一: 使用 INSERT I ...

  4. Hibernate(一)——采用Hibernate框架开发环境搭建

    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员充分使用对象编程思维来操作数据库.HIbernate的移植性很好,它可以应用于任何JDB ...

  5. classnull100 - The 3n + 1 problem

    新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,欢迎批评指正  The 3n + 1 problem  Background Problems in Computer Science are o ...

  6. IDEA异常解决: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

    有时候解决问题不仅仅是解决问题.-----jstarseven 最近因为开发需要,需要搭建一个ssm开发框架,采用了开发工具IDEA. 整合完了SSM开发框架之后,发布的时候出现org.apache. ...

  7. 按自己的想法去理解事件和泛型(C#)

    上一篇那些年困扰我们的委托(C#)讲了委托,这一篇自然就轮到事件了. 不喜欢官方的表达方式,喜欢按照自己的想法去理解一些抽象的东西. 事件 考虑到委托使用的一些缺陷,就有了事件.委托是不安全的,打个比 ...

  8. 没有花括号(大括号)的for循环也能正确执行

    代码一 for循环没有{}大括号(花括号),在for语句下面是一条语句. for(var i=0;i<3;i++) console.log(1,i); 上面的代码能无误输出: 1 01 11 2 ...

  9. Docker 基础 : 网络配置

    大量的互联网应用服务包含多个服务组件,这往往需要多个容器之间通过网络通信进行相互配合.Docker 目前提供了映射容器端口到宿主主机和容器互联机制来为容器提供网络服务.接下来我们将讲述 Docker ...

  10. 微型orm框架--dapper的简单使用

    1.安装 首先使用nuget安装dapper,因为这里的示例是使用mysql,所以还要安装mysql的驱动.如下图: 2 数据库表 脚本 ; -- -------------------------- ...