【SSH项目实战】国税协同平台-20.异步信息发布
2015-11-09 17:24
381 查看
上一次我们完成了文本编辑器的插入,这一节我们要对信息进行异步发布。
我们上次发表文章之后有一个“停用”和“发布”状态,
但是我们没有去做它的切换,所以在这里我们要用异步信息传输的方式去完成这个切换功能。
最后我们要的效果是点击“停用”或者“启用”的时候,在“状态”一栏会切换成“停用”或者“启用”。效果大概如此图:
我们使用Ajax异步处理这个操作。下面编码实现:
首先是在超链接部分添加判断,转向js方法doPublic(var id,var state),参数就是现在这个要改变状态的用户的id以及需要变成的状态。
doPublic这个javascript方法详细:
现在只差实现info_publicInfo.action方法:
在InfoAction中添加下面的方法
下面我们来测试:
首先我们的状态是“发布”,我们点击停用:
然后结果:
发现我们的状态已经改变
那么,到我们的数据库中查看,发现我们的state确实改变了:
至此我们的异步信息发布/停用状态更改功能完成!
转载请注明出处:http://blog.csdn.net/acmman/article/details/49741475
我们上次发表文章之后有一个“停用”和“发布”状态,
但是我们没有去做它的切换,所以在这里我们要用异步信息传输的方式去完成这个切换功能。
最后我们要的效果是点击“停用”或者“启用”的时候,在“状态”一栏会切换成“停用”或者“启用”。效果大概如此图:
我们使用Ajax异步处理这个操作。下面编码实现:
首先是在超链接部分添加判断,转向js方法doPublic(var id,var state),参数就是现在这个要改变状态的用户的id以及需要变成的状态。
<td id="show_<s:property value='infoId'/>" align="center"><s:property value="state==1?'发布':'停用'"/></td> <td align="center"> <span id="oper_<s:property value='infoId'/>"> <s:if test="state==1"> <a href="javascript:doPublic('<s:property value='infoId'/>',0)">停用</a> </s:if><s:else> <a href="javascript:doPublic('<s:property value='infoId'/>',1)">发布</a> </s:else> </span> <a href="javascript:doEdit('<s:property value='infoId'/>')">编辑</a> <a href="javascript:doDelete('<s:property value='infoId'/>')">删除 </a> </td>
doPublic这个javascript方法详细:
//异步发布信息,信息的id以及将要改成的状态值 function doPublic(infoId,state){ //1.更新信息状态 $.ajax({ url:"${basePath}tax/info_publicInfo.action", data:{"info.infoId":infoId,"info.state":state}, type:"post", success:function(msg){ //2.更新状态栏,操作栏的显示值 if("更新状态成功"==msg){ if(state==1){ //说明信息状态已经被改成发布,操作栏被改为停用 $("#show_"+infoId).html("发布"); $("#oper_"+infoId).html('<a href="javascript:doPublic(\''+infoId+'\',0)">停用</a>'); }else{ $("#show_"+infoId).html("停用"); $("#oper_"+infoId).html('<a href="javascript:doPublic(\''+infoId+'\',1)">发布</a>'); } }else{ alert("更新信息状态失败!"); } }, error:function(){ alert("更新信息状态失败!"); } }); }
现在只差实现info_publicInfo.action方法:
在InfoAction中添加下面的方法
//异步发布信息 public void publicInfo(){ try { if (info != null) { //1.更新信息状态 Info tem = infoService.findObjectById(info.getInfoId()); tem.setState(info.getState()); infoService.update(tem); //2.输出更新结果 HttpServletResponse response = ServletActionContext .getResponse(); response.setContentType("text/html"); ServletOutputStream outputStream = response.getOutputStream(); outputStream.write("更新状态成功".getBytes("utf-8")); outputStream.close(); } } catch (Exception e) { e.printStackTrace(); } }
下面我们来测试:
首先我们的状态是“发布”,我们点击停用:
然后结果:
发现我们的状态已经改变
那么,到我们的数据库中查看,发现我们的state确实改变了:
至此我们的异步信息发布/停用状态更改功能完成!
转载请注明出处:http://blog.csdn.net/acmman/article/details/49741475
相关文章推荐
- 第八周 数据结构实践项目——串 【项目2 - 建立链串的算法库】
- Android 内存分析
- 关于c++顺序容器小结(一)---概述
- IOS XCode6.4 安装报错
- .NET异步编程:IO完成端口与BeginRead
- asp.net试题解析
- 详解spring事务属性
- 单例设计模式小结
- WritePrivateProfileString GetPrivateProfileString 读取写 配置文件
- 一些有用的configue参数
- java的HashCode方法
- Ubuntu 13.04 安装 SSH SERVER记
- 让Redis在你的系统中发挥更大作用的几点建议
- 自定义button背景(如果美工不给图片的话)
- 第十一周项目1(2)-二叉树构造算法的验证
- redis使用watch完成秒杀抢购功能
- 神的规范:排序算法(三):冒泡排序
- OC- 字典
- WinFrom 线程的使用(开启、暂停、停止)
- SSL学习笔记