解释如下代码:public String container(Map<String,String> map, String alias) { String url = "/file/onlinePreviewController/v1/getFileByPathAndId_"; List<String> list = JSON.parseArray(map.get(alias), String.class); if(list!=null && list.size()>0) { com.gexin.fastjson.JSONObject fileObj = com.gexin.fastjson.JSONObject.parseObject(list.get(0)); com.gexin.fastjson.JSONObject gysRes = com.gexin.fastjson.JSONObject.parseObject(fileObj.get("response").toString()); String fileName = gysRes.get("fileName").toString(); boolean isHtml = fileName.contains("xls") || fileName.contains("xlsx"); String fileId = gysRes.get("fileId").toString(); String fileUrl = bpmUrl + url + fileId + "_"+(isHtml ? "html" : "pdf")+"==" + fileName; return fileUrl; } return ""; }
时间: 2024-04-29 17:19:49 浏览: 115
在SpringBoot中怎么注入各种类型(String,List,Map,Object)配置?
这段代码定义了一个名为 `container` 的方法,该方法接收两个参数:一个是 `Map` 类型的 `map`,另一个是字符串类型的 `alias`。方法的返回值是一个字符串类型的 `fileUrl`。
在方法中,首先定义了一个字符串类型的 `url`,其值为 "/file/onlinePreviewController/v1/getFileByPathAndId_"。
接着,通过 `JSON.parseArray` 方法将 `map` 中键为 `alias` 的值解析成一个字符串类型的列表 `list`。如果 `list` 不为 `null` 且其长度大于 0,那么就取出 `list` 中的第一个元素,并将其解析成一个 `com.gexin.fastjson.JSONObject` 类型的对象 `fileObj`。接着,从 `fileObj` 中取出名为 "response" 的属性,并将其转换为 `com.gexin.fastjson.JSONObject` 类型的对象 `gysRes`。
然后,从 `gysRes` 中取出名为 "fileName" 和 "fileId" 的属性,并将它们分别赋值给字符串类型的变量 `fileName` 和 `fileId`。接着,通过判断 `fileName` 是否包含 "xls" 或 "xlsx" 中的任一个来确定文件类型,并将其赋值给布尔类型的变量 `isHtml`。
最后,将 `fileId`、`isHtml` 和 `fileName` 拼接起来,构造出文件的 URL,并将其赋值给字符串类型的变量 `fileUrl`。最终,将 `fileUrl` 返回作为方法的返回值。如果 `list` 为 `null` 或长度为 0,则返回一个空字符串。
阅读全文