/** * 将文件后缀改名,从而生成一个新的文件对象。但是并不在磁盘上创建它 * * @param f * 文件 * @param suffix * 新后缀, 比如 ".gif" 或者 ".jpg" * @return 新文件对象 */ public static File renameSuffix(File f, String suffix) { if (null == f || null == suffix || suffix.length() == 0) return f; return new File(renameSuffix(f.getAbsolutePath(), suffix)); }
path = "/WEB-INF" + (path.startsWith("/") ? "" : "/") + Files.renameSuffix(path, ext);
/** * 将文件后缀改名,从而生成一个新的文件对象。但是并不在磁盘上创建它 * * @param f * 文件 * @param suffix * 新后缀, 比如 ".gif" 或者 ".jpg" * @return 新文件对象 */ public static File renameSuffix(File f, String suffix) { if (null == f || null == suffix || suffix.length() == 0) return f; return new File(renameSuffix(f.getAbsolutePath(), suffix)); }
protected String getTemplatePath(String path, HttpServletRequest request) { String ext = WebEngine.getTemplateSuffix(); if (Strings.isBlank(path)) { // 空路径,采用默认规则 path = Files.renameSuffix(Mvcs.getRequestPath(request), ext); if (! path.startsWith("/")) { path = "/" + path; } } else if (path.charAt(0) == '/') { // 绝对路径 : 以 '/' 开头的路径不增加 '/WEB-INF' if (! path.toLowerCase().endsWith(ext)) { path += ext; } } else { // 包名形式的路径 path = path.replace('.', '/') + ext; } return path; } }
private String getPath(String path) { StringBuffer sb = new StringBuffer(); // 空路径,采用默认规则 if (Strings.isBlank(path)) { sb.append(Mvcs.getServletContext().getRealPath(freeMarkerConfigurer.getPrefix())); sb.append((path.startsWith("/") ? "" : "/")); sb.append(Files.renameSuffix(path, getExt())); } // 绝对路径 : 以 '/' 开头的路径不增加 '/WEB-INF' else if (path.charAt(0) == '/') { String ext = getExt(); sb.append(path); if (!path.toLowerCase().endsWith(ext)) sb.append(ext); } // 包名形式的路径 else { sb.append(path.replace('.', '/')); sb.append(getExt()); } return sb.toString(); }
path = "/WEB-INF" + (path.startsWith("/") ? "" : "/") + Files.renameSuffix(path, ext);