项目上线之后,如果是后端报错,只能重新编译打包部署然后重启;如果仅仅是前端页面、样式、脚本修改,只需要替换到就可以了。
小公司的话可能比较自由,可以随意替换,但是有些公司权限设置的比较严格,需要提交申请交给运维去处理。
如果仅仅是一个前端问题,又很紧急,这时候提申请走流程势必会影响到用户的正常使用。
今天,给大家推荐一款前端代码文件编辑器来解决以上问题。
案例
定义实体,用于前端文件树展示:
@Data
public class SysFile {
private Integer fileId;
private String name;
private Integer parentId;
private String parentPath;
}
由于项目采用的是SpringBoot框架,打成了war包部署,后端采用以下方式获取文件列表:
@RequestMapping(value = "list", method = RequestMethod.POST)
public Result list() throws FileNotFoundException {
String filePath = ResourceUtils.getURL("classpath:").getPath();
List<SysFile> fileList = new ArrayList<>();
getAllFilePaths(filePath,fileList,0,"");
return Result.ok(fileList);
}
递归获取某目录下的所有子目录以及子文件:
private static List<SysFile> getAllFilePaths(String filePath, List<SysFile> filePathList,
Integer level,String parentPath) {
File[] files = new File(filePath).listFiles();
if (files == null) {
return filePathList;
}
for (File file : files) {
int num = filePathList.size()+1;
SysFile sysFile = new SysFile();
sysFile.setName(file.getName());
sysFile.setFileId(num);
sysFile.setParentId(level);
if (file.isDirectory()) {
if(level==0){
if(file.getName().equals("templates")||
file.getName().equals("static")){
filePathList.add(sysFile);
parentPath = SystemConstant.SF_FILE_SEPARATOR+file.getName();
getAllFilePaths(file.getAbsolutePath(), filePathList,num,parentPath);
num++;
}
}else{
filePathList.add(sysFile);
String subParentPath = parentPath+SystemConstant.SF_FILE_SEPARATOR+file.getName();
getAllFilePaths(file.getAbsolutePath(), filePathList,num,subParentPath);
num++;
}
} else {
if(level!=0){
sysFile.setParentPath(parentPath+SystemConstant.SF_FILE_SEPARATOR+file.getName());
filePathList.add(sysFile);
num++;
}
}
}
return filePathList;
}
获取文件内容:
@RequestMapping(value = "getContent", method = RequestMethod.POST)
public Result getContent(String filePath) throws FileNotFoundException {
String path = ResourceUtils.getURL("classpath:").getPath();
String content = FileUtil.readUtf8String(path+filePath);
return Result.ok(content);
}
修改保存:
@RequestMapping(value = "save", method = RequestMethod.POST)
public Result save(String filePath, String content) throws FileNotFoundException {
String path = ResourceUtils.getURL("classpath:").getPath();
if(active.equals("prod")){
return Result.error("演示环境禁止插插插!!!");
}else{
File file = new File(path+filePath);
long lastModified = file.lastModified();
FileUtil.writeUtf8String(content,path+filePath);
file.setLastModified(lastModified);
return Result.ok();
}
}
当然了,如果代码修改比较多,也可以对文件进行上传覆盖操作。
截图
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容猜你喜欢
AI推送时光机Java教程:SpringBoot在线代码修改器
后端开发2023-06-02
pbootcms教程—— 分页代码修改
后端开发2023-09-14
阿里云服务器代码修改教程
后端开发2023-11-11
如何在Java中使用Agent动态修改代码
后端开发2023-05-31
云服务器怎么修改密码教程
后端开发2023-10-26
华为云服务器修改密码教程
后端开发2023-10-26
修改阿里云服务器密码教程
后端开发2023-10-27
阿里云服务器修改密码教程
后端开发2023-10-26
Java多线程同步器代码详解
后端开发2023-05-30
阿里云服务器修改远程密码教程
后端开发2023-10-26
阿里云服务器修改root密码教程
后端开发2023-10-26
阿里云服务器mysql修改密码教程
后端开发2024-01-21
阿里云服务器怎么修改密码教程
后端开发2023-10-26
亚马逊服务器修改账号密码教程
后端开发2023-10-27
阿里云服务器系统修改密码教程
后端开发2023-11-07
云服务器怎么修改密码设置教程
后端开发2023-10-26
阿里云服务器修改系统密码教程
后端开发2023-10-27
java注解处理器学习在编译期修改语法树教程
后端开发2024-04-02
springboot 正确的在异步线程中使用request的示例代码
后端开发2024-04-02
Java中怎么组建和修改多线程服务器
后端开发2023-06-17
咦!没有更多了?去看看其它编程学习网 内容吧