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拼接展示信息相关推荐

  1. 微信小程序在java后台获取用户unionid等敏感信息

    最近在弄小程序,阅读了微信官方文档,上面说可以在后台获取用户的openid和unionid这些敏感信息,当然网上也有不少帖子,有的是在前台获取的,不过这里不太建议把这些敏感信息放在前台,毕竟不太安全. ...

  2. table多选提交 + java后台获取解析信息

    html <form action="back/resourceList" method="post"><ul class="sea ...

  3. Luckysheet 导入导出 - Java后台处理和js前端实现

    luckysheet 官方群:926131495 无图无真相,所以先看视频效果吧:https://b23.tv/IzhaTv.协同演示与历史记录 目前已经实现导出有三种方案.Java后台方式基于模板导 ...

  4. 微信公众号开发 自定义分享 从前台到Java后台 调用微信JS接口分享朋友圈

    20180811写在前面的话 有很多人遇到问题之后问我,结果大多数是因为配置问题,所以请详细阅读前面的配置步骤. 20181016注意事项 收到反馈,之前写的接口即将废弃,源代码中的js接口需要修改, ...

  5. Java Scala获取所有注解的类信息

    要想获取使用指定注解的类信息,可借助工具: org.reflections.Reflections 此工具将Java反射进行了高级封装,Reflections 通过扫描 classpath,索引元数据 ...

  6. Base64 JAVA后台编码与JS前台解码(解决中文乱码问题)

    中文通过Java后台进行Base64编码后传到前台,通过JS进行Base64解码时会出现中文乱码的问题,被这个问题也是困扰了几天,使用jquery.base64.js只能转码非中文字符,经过搜集各种方 ...

  7. java后台获取微信分享二维码 并返回给前端

    最近公司业务需求 微信小程序需要分享 从后台请求生成二维码图片 并显示 给大家分享一下 经验 第一步 :获得 微信token(这个token两个小时会过期 所以需要token生成相对应的二维码) St ...

  8. 在Java后台获取小程序的小程序码,传递到前端显示图片

    步骤: 1.需要准备的参数 accessToken :小程序的临时凭证,需要它才可以任意的调用小程序的各种接口 appid:小程序的ID,微信公众平台上有.为了获取accessToken 而存在 se ...

  9. java实现获取各网站的机票信息_java爬取某个机票查询网站上面的信息(刚学!!!)...

    [Java] 纯文本查看 复制代码[ 本帖最后由 shangjS009 于 2018-5-25 15:41 编辑 ]\n\n@RequestMapping(value = "${adminP ...

最新文章

  1. Ubuntu 16.04中安装VMware Tools
  2. 【linux】用户和组的管理:添加、修改、删除(useradd usermod userdel groupadd groupdel)
  3. 汇编: 使用[bx]代替[0]获取内存数据
  4. 知识图谱(历史回顾及技术挑战)
  5. Jenkins发布MVC应用程序
  6. 美汽车销售商使用RFID汽车,加快销售速度
  7. 【算法设计与分析】03 算法及其时间复杂度
  8. [乐理知识] 第三章 拍子 节拍 节奏
  9. 从入门到入土:基于Python采用TCP协议实现通信功能的程序
  10. java 模糊查询 分页(自定义标签)
  11. linux系统 锐捷_锐捷校园网Linux客户端认证xrgsu
  12. lnmp一键安装远程连接mysql_阿里云 lnmp一键安装包远程访问Mysql
  13. 2022年PC必备的5款软件,功能强大且免费,你用过几个?
  14. word 流程图制作
  15. 写专利的一点小小心得
  16. c语言已知祖父年龄70,实验三循环结构程序设计.doc
  17. Vivo手机获取文件管理器里的文件路径为空
  18. 《哪吒之魔童降世》席卷全球!用Python数据分析告诉你为什么这么火
  19. json c语言开发,JSON c语言开发指南
  20. 一段和弹出窗口有关的JS代码

热门文章

  1. IPSEC的原理及配置步骤整理(一)
  2. 银河麒麟OS C# .netcore桌面应用开发环境搭建笔记
  3. 新版ripro全站美化子主题美化包使用说明手册
  4. java和C#中 定义变量,加一个小括号是什么意思。。。
  5. 天乐生活百科,商业百科,网址大全,中国生意场上的百科全书 源码
  6. 抓虫记之七:模拟鼠标移动就报错
  7. 热带水果的收藏(三亚)
  8. 云服务器还是服务器托管,中小企业应如何选择?
  9. 异步爬虫爬取实战-asyncio
  10. 中小型技术团队的岗位与主要职责