关闭

【SSH项目实战】国税协同平台-20.异步信息发布

标签: 项目实战ssh管理界面异步
382人阅读 评论(0) 收藏 举报
分类:

我们上次发表文章之后有一个“停用”和“发布”状态,

但是我们没有去做它的切换,所以在这里我们要用异步信息传输的方式去完成这个切换功能。

最后我们要的效果是点击“停用”或者“启用”的时候,在“状态”一栏会切换成“停用”或者“启用”。效果大概如此图:


我们使用Ajax异步处理这个操作。下面编码实现:
首先是在超链接部分添加判断,转向js方法doPublic(var id,var state),参数就是现在这个要改变状态的用户的id以及需要变成的状态。
[html] view plaincopy
  1. <td id="show_<s:property value='infoId'/>" align="center"><s:property value="state==1?'发布':'停用'"/></td>  
  2. <td align="center">  
  3.     <span id="oper_<s:property value='infoId'/>">  
  4.     <s:if test="state==1">  
  5.         <a href="javascript:doPublic('<s:property value='infoId'/>',0)">停用</a>  
  6.     </s:if><s:else>  
  7.         <a href="javascript:doPublic('<s:property value='infoId'/>',1)">发布</a>  
  8.     </s:else>  
  9.     </span>  
  10.     <a href="javascript:doEdit('<s:property value='infoId'/>')">编辑</a>  
  11.     <a href="javascript:doDelete('<s:property value='infoId'/>')">删除  
  12.   
  13. </a>  
  14. </td>  

doPublic这个javascript方法详细:
[javascript] view plaincopy
  1. //异步发布信息,信息的id以及将要改成的状态值  
  2. function doPublic(infoId,state){  
  3.     //1.更新信息状态  
  4.     $.ajax({  
  5.         url:"${basePath}tax/info_publicInfo.action",  
  6.         data:{"info.infoId":infoId,"info.state":state},  
  7.         type:"post",  
  8.         success:function(msg){  
  9.             //2.更新状态栏,操作栏的显示值  
  10.             if("更新状态成功"==msg){  
  11.                 if(state==1){  
  12.                     //说明信息状态已经被改成发布,操作栏被改为停用  
  13.                     $("#show_"+infoId).html("发布");  
  14.                     $("#oper_"+infoId).html('<a href="javascript:doPublic(\''+infoId+'\',0)">停用</a>');  
  15.                 }else{  
  16.                     $("#show_"+infoId).html("停用");  
  17.                     $("#oper_"+infoId).html('<a href="javascript:doPublic(\''+infoId+'\',1)">发布</a>');  
  18.                 }  
  19.             }else{  
  20.                 alert("更新信息状态失败!");  
  21.             }  
  22.         },  
  23.         error:function(){  
  24.             alert("更新信息状态失败!");  
  25.         }  
  26.     });  
  27.       
  28. }     

现在只差实现info_publicInfo.action方法:
在InfoAction中添加下面的方法
[java] view plaincopy
  1. //异步发布信息  
  2. public void publicInfo(){  
  3.     try {  
  4.         if (info != null) {  
  5.             //1.更新信息状态  
  6.             Info tem = infoService.findObjectById(info.getInfoId());  
  7.             tem.setState(info.getState());  
  8.             infoService.update(tem);  
  9.   
  10.   
  11.             //2.输出更新结果  
  12.             HttpServletResponse response = ServletActionContext  
  13.                     .getResponse();  
  14.             response.setContentType("text/html");  
  15.             ServletOutputStream outputStream = response.getOutputStream();  
  16.             outputStream.write("更新状态成功".getBytes("utf-8"));  
  17.             outputStream.close();  
  18.         }  
  19.     } catch (Exception e) {  
  20.         e.printStackTrace();  
  21.     }  
  22. }   

下面我们来测试:
首先我们的状态是“发布”,我们点击停用:


然后结果:

发现我们的状态已经改变

那么,到我们的数据库中查看,发现我们的state确实改变了:


至此我们的异步信息发布/停用状态更改功能完成!

0
0
查看评论

第44天(就业班) SSH项目实战课程-国税协同办公平台

1  项目介绍 1.1 项目背景 国税协同办公平台包括了行政管理、后勤服务、在线学习、纳税服务、我的空间等几个子系统;我们本次主要的开发功能是纳税服务子系统的部分模块和基于纳税服务子系统信息的个人工作台首页。纳税服务子系统是办税PC前端或移动端的后台管理系统,主要包括的功能有系统角色管...
  • nupotian
  • nupotian
  • 2017-03-22 13:36
  • 484

【SSH项目实战】国税协同平台-33.quartz&SimpleTrigge

在我们“投诉管理”和“我要投诉”这两个模块完成之后,我们要做一个“自动投诉受理”功能。 我们来回顾一下“自动投诉受理”功能的需求分析: 自动投诉受理:在每个月月底最后一天对本月之前的投诉进行自动处理;将投诉信息的状态改为已失效。在后台管理中不能对该类型投诉进行回复。 自动投诉受理是在一定时间内自动...
  • u013517797
  • u013517797
  • 2015-12-05 10:25
  • 1506

【SSH项目实战】国税协同平台-20.异步信息发布

上一次我们完成了文本编辑器的插入,这一节我们要对信息进行异步发布。 我们上次发表文章之后有一个“停用”和“发布”状态, 但是我们没有去做它的切换,所以在这里我们要用异步信息传输的方式去完成这个切换功能。 最后我们要的效果是点击“停用”或者“启用”的时候,在“状态”一栏会切换成“停用”或者“启用...
  • u013517797
  • u013517797
  • 2015-11-09 17:24
  • 1352

【SSH项目实战】国税协同平台-1.项目介绍

项目介绍 1.1项目背景 国税协同办公平台包括了行政管理、后勤服务、在线学习、纳税服务、我的空间等几个子系统;我们本次主要的开发功能是纳税服务子系统的部分模块和基于纳税服务子系统信息的个人工作台首页。纳税服务子系统是办税PC前端或移动端的后台管理系统,主要包括的功能有系统角色管理、用户管理、信息...
  • u013517797
  • u013517797
  • 2015-10-18 17:32
  • 5765

【SSH项目实战】国税协同平台-15.系统、子系统首页&登录功能2

接上一篇:http://blog.csdn.net/acmman/article/details/49614841 我们的子系统界面已经加载出来: 我们找到左边菜单页,给它加链接: 角色管理 用户管理 我们指定了点击链接之后右侧模块页面的地址。 效...
  • u013517797
  • u013517797
  • 2015-11-03 13:26
  • 2375

【SSH项目实战】国税协同平台-14.系统、子系统首页&登录功能1

我们做完了用户与角色的分配,在设置用户在相应的角色下的操作之前,我们先完成用户的登录功能。 首先,我们先加载我们的系统的首页和子首页。很简单,就是转发到一个jsp页面而已,我们先写一个HomeAction来设置跳转功能: package cn.edu.hpu.tax.core.action; i...
  • u013517797
  • u013517797
  • 2015-11-03 13:19
  • 3505

【SSH项目实战】国税协同平台-18.信息发布管理需求分析&CRUD

我们接下来要做一个信息发布管理的功能,首先来看看我们的需求分析: 要求 信息发布管理原型界面: 编辑信息原型界面: 2.6.2功能说明 信息发布管理: 根据信息标题、信息类型进行信息查询;可以在页面中点击“新增”发布信息,点击“删除”进行批量删除信息。列表数据包括信息标题、信息分类、申请人...
  • u013517797
  • u013517797
  • 2015-11-07 10:45
  • 1558

项目实战---国税协同办公平台---day01

SSH框架搭建及整合1、 新建数据库及web项目1.1 创建数据库 CREATE DATABASE itcastTax DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;2、新建web项目2.1 新建工作空间指定项目编码(或工作空间编码)为utf...
  • dengchenrong
  • dengchenrong
  • 2017-05-27 10:21
  • 588

【SSH项目实战】国税协同平台-34.quartz&CronTrigger

我们上次使用quartz任务调度框架创建了一个在后台按照时间间隔不停运行的任务,我们使用的是simpleTrigger简单触发器,为了实现我们的月末自动回复的功能,我们要设置触发器能够在某个精确时间去自动执行任务,那么使用simpleTrigger简单触发器就远远不够了,我们需要使用CronTrig...
  • u013517797
  • u013517797
  • 2015-12-07 15:14
  • 2337

【SSH项目实战】国税协同平台-22.逆向工程

上一次我们利用PowerDesigner设计了一个“人员组织架构”的概念模型和物理模型,并把它们生成了建表语句,并且在数据库创建了相应表。 接下来我们要利用“逆向工程”来创建表和实体类。 因为是测试,所以我们所有的代码均在test包下完成。 首先,我们在我们工程的test.conf包下创建dat...
  • u013517797
  • u013517797
  • 2015-11-15 09:55
  • 2031
    个人资料
    • 访问:581279次
    • 积分:8161
    • 等级:
    • 排名:第2983名
    • 原创:171篇
    • 转载:575篇
    • 译文:0篇
    • 评论:35条
    座右铭

    细节决定成败,

    态度决定一切。

    博客专栏
    最新评论