java后台获取和js拼接展示信息
java后台获取和js拼接展示信息:
html页面代码:
<div class="results-bd"><table id="activityInfoTable"> <tbody id="activityInfoTbody"> </tbody></table> </div>
javaScript代码(拼接为多个表格形式展示):
getAuditProgressDetails : function(projectguid){WebAPI.getAuditProgressDetailsAPI(projectguid,function(data) {if (data.boo) {// 表格形式展示所有步骤得所有部门信息var activityJSONObjectList = data.UserArea.activityJSONObjectList; console.log("activityJSONObjectList===="+activityJSONObjectList);var num = 1;var htmlphase = ""; // 先循环所有处理步骤for (var i = 0; i < activityJSONObjectList.length; i++) {htmlphase+="<div><tr><td colspan='6'><span style=\"font-size: 30px; font-family: 微软雅黑; font-weight: bold;\">"+activityJSONObjectList[i].activityName+"</span></td></tr>";var ouinfoJSONObjectList= activityJSONObjectList[i].ouinfoJSONObjectList;htmlphase += "<tr><th scope=\"col\">序号</th>"+"<th scope='col'>部门名称</th>"+"<th scope='col'>办理地址</th>"+"<th scope='col'>联系电话</th></tr></div>"; // 再循环每个步骤中的每个处理部门信息 for (var j = 0; j < ouinfoJSONObjectList.length; j++){var tr = "<tr>";tr += "<td>" + num + "</td>";tr += "<td>" + ouinfoJSONObjectList[j].ouname + "</td>";tr += "<td>" + ouinfoJSONObjectList[j].address + "</td>";//tr += "<td><a href=\"####\" οnclick=openDetail('"+projectlist[j].projectGuid+"')>" + projectlist[j].taskName + "</a></td>";//tr += "<td><a href='../../../../epointzwfw/dzjc/spjd/AuditProjectDetailPage.jspx?rowGuid="+projectlist[j].projectGuid+"'>" + projectlist[j].taskName + "</a></td>";tr += "<td>" + ouinfoJSONObjectList[j].ouLinkphone + "</td>";num ++;tr += "</tr>";htmlphase += tr;} }$("#activityInfoTbody").html(htmlphase);} else {DialogBox.dialog.alert('系统提示',data.Description);}});},
里面的webapi就是一个封装的js,集中调用封装了的js的ajax交互方法:
// 个人中心正在审批模块查看当前审批进度getAuditProgressDetailsAPI : function(projectguid, func) { // restful接口的类注解/方法注解var url = "/AuditProject/getAuditProgressDetails";var jsonData = {paras : {projectguid : projectguid}};this.postAPINew(url, jsonData, func);},
javaSrcipt中返回的的数据调用的后台获取接口代码(restful接口,action层业务管理层):
@Path("/AuditProject")
public class WsbsdtAuditProjectAction {
// 正在审批查看当前进度@Path("/getAuditProgressDetails")@POST@Produces(MediaType.APPLICATION_JSON)public String getAuditProgressDetails(String receivedata, @Context HttpServletRequest request) {String receivejson = HandleCommonReceiveDataUtil.handleReceiveData(request.getParameterMap(), receivedata);return JSONCommonUtil.doService(receivejson, WsbsdtAuditProjectService.class, "getAuditProgressDetails");}}
action层业务管理层 所调用的 service层业务逻辑实施层 的方法代码:
public class WsbsdtAuditProjectService extends BaseService { /*** 正在审批查看当前进度* @param receiveData* @return * @exception/throws [违例类型] [违例说明]* @see [类、类#方法、类#成员]* AND w.Status='20'*/public ReturnData getAuditProgressDetails(ReceiveData receiveData) {log.info("=======开始调用getAuditProgressDetails接口=======");ReturnData returndata = new ReturnData();// 1、获取tokenString token = receiveData.getValidateData();// 2、验证Token// boolean iscorrect = TokenUtil.validateToken(token);boolean iscorrect = true;if (iscorrect) {try {log.info("=======开始获取getAuditProgressDetails接口参数=======");// 3、获取参数// 获取办件唯一标识String projectguid = receiveData.getParam("projectguid".toUpperCase());AuditProject auditProject = service.getBeanByguid(projectguid, "AuditProject");String pviguid ="";if(StringUtil.isNotBlank(auditProject)){pviguid = auditProject.getPviguid();}// 获取处理过和正在的所有步骤 // service.getResultListNative为封装了的dao层即数据库访问操作层String getAllActivitySql = "select ActivityGuid from Workflow_WorkItem WHERE ProcessVersionInstanceGuid='"+pviguid+"' group by ActivityGuid order by max(CreateDate);";List<String> activityGuidList=service.getResultListNative(getAllActivitySql); // 外层list对象,返回JSONObject的list列表List<JSONObject> activityJSONObjectList = new ArrayList<JSONObject>();if(activityGuidList.size()>0){for(String activityGuid : activityGuidList){// 外层list对象包含的每个序号的对象JSONObject activityJSONObject = new JSONObject();String getActivityNameByGuidSql = "SELECT ActivityName FROM Workflow_Activity WHERE ActivityGuid='"+activityGuid+"' ";// 要判断返回Null值情况,避免bugString activityName = StringUtil.isBlank(service.getSingleResultNative(getActivityNameByGuidSql))?"":service.getSingleResultNative(getActivityNameByGuidSql).toString();String judgeIsCurrentActivitySql = "SELECT TOP 1 Status FROM Workflow_WorkItem WHERE Status='20' AND ProcessVersionInstanceGuid='"+pviguid+"' AND ActivityGuid='"+activityGuid+"' ";String status = StringUtil.isBlank(service.getSingleResultNative(judgeIsCurrentActivitySql))?"":service.getSingleResultNative(judgeIsCurrentActivitySql).toString();if("20".equals(status)){activityName += "(当前处理步骤)";}activityJSONObject.accumulate("activityGuid", activityGuid);activityJSONObject.accumulate("activityName", activityName);// 获取该步骤下发给的所有接收人String getAllTransactorSql = "select Transactor from Workflow_WorkItem WHERE ProcessVersionInstanceGuid='"+pviguid+"' AND ActivityGuid='"+activityGuid+"' ";List<String> transactorList=service.getResultListNative(getAllTransactorSql);// 内层的list对象List<JSONObject> ouinfoJSONObjectList = new ArrayList<JSONObject>();if(transactorList.size()>0){for(String transactor : transactorList){// 内层list包含的每个序号的对象JSONObject ouinfoJSONObject = new JSONObject();// 获取处理部门信息String getOuByUserguidSql = "SELECT * FROM Frame_OU WHERE OUGuid=(SELECT OUGuid FROM Frame_User WHERE UserGuid='"+transactor+"') ";FrameOu frameOu = service.getSingleResultNative(getOuByUserguidSql, FrameOu.class);// 该处理部门名称String ouname = "";// 该处理部门联系电话String ouLinkphone = "";// 办理地址String address = "";ouname = frameOu.getOuname();ouLinkphone = frameOu.getTel();address = frameOu.getAddress();ouinfoJSONObject.accumulate("ouname", ouname);ouinfoJSONObject.accumulate("ouLinkphone", ouLinkphone);ouinfoJSONObject.accumulate("address", address);ouinfoJSONObjectList.add(ouinfoJSONObject);}activityJSONObject.accumulate("ouinfoJSONObjectList", ouinfoJSONObjectList);}activityJSONObjectList.add(activityJSONObject);}}returndata.putUserData("activityJSONObjectList", activityJSONObjectList.toString());}catch (Exception e) {returndata = ReturnData.False(e.getMessage());this.log.error(e.getMessage());}}else {returndata = ReturnData.False("身份验证失败:" + token);this.log.error("身份验证失败:" + receiveData.getValidateData());}log.info("=======getAuditProgressDetails接口调用结束=======");return returndata; }}
转载于:https://www.cnblogs.com/wmqiang/p/10496922.html
java后台获取和js拼接展示信息相关推荐
- 微信小程序在java后台获取用户unionid等敏感信息
最近在弄小程序,阅读了微信官方文档,上面说可以在后台获取用户的openid和unionid这些敏感信息,当然网上也有不少帖子,有的是在前台获取的,不过这里不太建议把这些敏感信息放在前台,毕竟不太安全. ...
- table多选提交 + java后台获取解析信息
html <form action="back/resourceList" method="post"><ul class="sea ...
- Luckysheet 导入导出 - Java后台处理和js前端实现
luckysheet 官方群:926131495 无图无真相,所以先看视频效果吧:https://b23.tv/IzhaTv.协同演示与历史记录 目前已经实现导出有三种方案.Java后台方式基于模板导 ...
- 微信公众号开发 自定义分享 从前台到Java后台 调用微信JS接口分享朋友圈
20180811写在前面的话 有很多人遇到问题之后问我,结果大多数是因为配置问题,所以请详细阅读前面的配置步骤. 20181016注意事项 收到反馈,之前写的接口即将废弃,源代码中的js接口需要修改, ...
- Java Scala获取所有注解的类信息
要想获取使用指定注解的类信息,可借助工具: org.reflections.Reflections 此工具将Java反射进行了高级封装,Reflections 通过扫描 classpath,索引元数据 ...
- Base64 JAVA后台编码与JS前台解码(解决中文乱码问题)
中文通过Java后台进行Base64编码后传到前台,通过JS进行Base64解码时会出现中文乱码的问题,被这个问题也是困扰了几天,使用jquery.base64.js只能转码非中文字符,经过搜集各种方 ...
- java后台获取微信分享二维码 并返回给前端
最近公司业务需求 微信小程序需要分享 从后台请求生成二维码图片 并显示 给大家分享一下 经验 第一步 :获得 微信token(这个token两个小时会过期 所以需要token生成相对应的二维码) St ...
- 在Java后台获取小程序的小程序码,传递到前端显示图片
步骤: 1.需要准备的参数 accessToken :小程序的临时凭证,需要它才可以任意的调用小程序的各种接口 appid:小程序的ID,微信公众平台上有.为了获取accessToken 而存在 se ...
- java实现获取各网站的机票信息_java爬取某个机票查询网站上面的信息(刚学!!!)...
[Java] 纯文本查看 复制代码[ 本帖最后由 shangjS009 于 2018-5-25 15:41 编辑 ]\n\n@RequestMapping(value = "${adminP ...
最新文章
- Ubuntu 16.04中安装VMware Tools
- 【linux】用户和组的管理:添加、修改、删除(useradd usermod userdel groupadd groupdel)
- 汇编: 使用[bx]代替[0]获取内存数据
- 知识图谱(历史回顾及技术挑战)
- Jenkins发布MVC应用程序
- 美汽车销售商使用RFID汽车,加快销售速度
- 【算法设计与分析】03 算法及其时间复杂度
- [乐理知识] 第三章 拍子 节拍 节奏
- 从入门到入土:基于Python采用TCP协议实现通信功能的程序
- java 模糊查询 分页(自定义标签)
- linux系统 锐捷_锐捷校园网Linux客户端认证xrgsu
- lnmp一键安装远程连接mysql_阿里云 lnmp一键安装包远程访问Mysql
- 2022年PC必备的5款软件,功能强大且免费,你用过几个?
- word 流程图制作
- 写专利的一点小小心得
- c语言已知祖父年龄70,实验三循环结构程序设计.doc
- Vivo手机获取文件管理器里的文件路径为空
- 《哪吒之魔童降世》席卷全球!用Python数据分析告诉你为什么这么火
- json c语言开发,JSON c语言开发指南
- 一段和弹出窗口有关的JS代码