freemarker判断静态文件是否存在 - java - 方帮信
当前位置: 首页 >  > 技术 > 软件开发 > java

freemarker判断静态文件是否存在

2022/6/14 17:02:52 浏览

如果需要判断相对于当前html的相对路径下的freemarker语法的html文件是否存在,可以用下面的方式,判断 attempt下的文件是否存在,如果不存在,则取recover下的文件<#attempt> <#include "../../../....html"> <#recover> …

如果需要判断相对于当前html的相对路径下的freemarker语法的html文件是否存在,可以用下面的方式,判断 attempt下的文件是否存在,如果不存在,则取recover下的文件

<#attempt>
           <#include "../../../....html">
<#recover>
           <#include "../../....html">
</#attempt>

image-20220413142725561.png


(图片来自:http://freemarker.foofun.cn/ref_directive_attempt.html


低版本的用不了


使用如下方法解决:

//自定义指令
@Component
public class GetHtmlMethod implements TemplateMethodModelEx {

   @Override
   public Object exec(List list) throws TemplateModelException {
       String path = list.get(0).toString();
       return ViewExsist(path);
   }

   private static Boolean ViewExsist(String viewPath) {
       if (TStringUtils.isEmpty(viewPath))
           return false;
       String fileName = viewPath;
       Boolean result = false;
       if (!fileName.endsWith(".html"))
           fileName += ".html";
       ResourceLoader loader = new DefaultResourceLoader();
       String physicsPath = FreeMarkerProperties.DEFAULT_TEMPLATE_LOADER_PATH + fileName;
       physicsPath = physicsPath.replace("//", "/");
       Resource resource = loader.getResource(physicsPath);
       if (resource.exists())
           result = true;
       return result;
   }
}





来源:方帮信(微信:wenwenjisuanji,邮箱:changyandou@126.com),欢迎分享!