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

转载 2015年12月11日 16:32:50

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

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

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


我们使用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确实改变了:


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

相关文章推荐

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

上一次我们完成了文本编辑器的插入,这一节我们要对信息进行异步发布。 我们上次发表文章之后有一个“停用”和“发布”状态, 但是我们没有去做它的切换,所以在这里我们要用异步信息传输的方式去完成这个切换...

【SSH项目实战】国税协同平台-19.信息发布管理完善&ueditor文本编辑插件

我们上次虽然完成了信息发布管理模块基础的增删改查,但是我们还有需求没有完成,其中最重要的一点就是需求上要求我们发布的信息必须是有格式的,word文档那种格式,而我们的原始textarea是清除所有文本...

【SSH项目实战】国税协同平台-30.投诉受理&保存受理信息

上次我们给“投诉受理管理”模块做了多条件查询功能,我们通过流程图来回顾一下这个模块的具体流程: 根据流程图,我们接下来剩下的就是“受理投诉”、“保存投诉信息”、“用户投诉”等功能了。我们不用着急,...

【SSH项目实战】国税协同平台-23.抽取BaseService

接下来我们开始整顿我们的Service层,我们每一个Service基本上都有下面几个方法(拿info举例子): //新增 public void save(Info entity); //更新 pub...

【SSH项目实战】国税协同平台-3.资源文件分类&log4j&抽取BaseAction

上次我们搭建了SSH框架的环境,然后做了单元测试,下面我们继续来完善我们工厂的准备工作。 3.1资源文件分类 (1)将配置文件归类到新建config文件夹; (2)源代码目录按照功能模块进行划分:c...

【SSH项目实战】国税协同平台-8.户帐号唯一性校验

我们之前完成了用户管理列表的增删改查以及头像上传,之后又使用POI技术完成了用户列表信息的Excel导入和Excel文件导出工作。接下来我们来编写与账号有关的业务。 可以看到我们添加用户要指派一个账...

【SSH项目实战】国税协同平台-11.角色权限管理1

我们要完成角色管理这一块,首先我们看一下这一块的需求: I.界面描述 II.功能说明 角色管理:可以根据角色名称查询系统用户;在页面中点击“新增”可以添加用户、点击删除可以批量删除选中的用户。...

【SSH项目实战】国税协同平台-17.权限鉴定&解决登录嵌套

我们上一次完成了登录功能和session用户信息的保存和注销。下面我们完成登陆后有关权限鉴定的功能。 我们系统分了5大子系统,粗粒度的分了5个权限。 用户只要有对应系统的权限才可以访问相应的子系统...

【SSH项目实战】国税协同平台-29.投诉受理查询

我们之前已经成功创建了数据库,现在我们要对建好的表使用“逆向工程”来创建相应的实体类以及映射文件。 我们的“逆向工程”在第五阶段“5.逆向工程.txt”章中已经详细阐述过,这里的过程就不再赘述。 ...

【SSH项目实战】国税协同平台-4.用户管理需求分析&CRUD方法1

上次我们完成了日志模块的配置和基础增删改查类,下面我们根据用户的需求来正式开发项目的业务模块。 下面我们主要来开发系统用户管理的模块 我们有用户的功能说明书,打开功能说明书来看看这个模块需要什么功能...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【SSH项目实战】国税协同平台-20.异步信息发布
举报原因:
原因补充:

(最多只允许输入30个字)