作者:antefigure850_495 | 来源:互联网 | 2023-10-10 15:22
在eclipse中点击Window,选择Reference,弹出如下框找到:General --Editors --FileAssociations如下:如果有*.ftl文件,
- 在eclipse中点击Window,选择Reference,弹出如下框
- 找到:General --> Editors --> File Associations
如下:如果有*.ftl文件,就不用点击上面的Add。如果没有,就点击Add新建
- 然后点击此页面下面的Add按钮:
- 然后选择General--Content Types:
编程步骤,这里我们写一个工具类方便我们使用
package cn.jiedada.util;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.Writer;
import java.util.UUID;
import freemarker.template.Configuration;
import freemarker.template.Template;
public class FreeMakerUtil {
/**
* @param templatePath--ftl文件父目录路径
* @param templateName--ftl文件名称
* @param object --传入的数据
* @param suffix --文件后缀
* @return
*/
public static String createFile(String templatePath,String templateName,Object data,String suffix) {
//创建一个配置对象
Configuration cOnf= new Configuration(Configuration.VERSION_2_3_28);
Writer pw = null;
String htmluri=null;
try {
//创建父目录文件
File file = new File(templatePath);
//设置默认template文件路径及字符集
conf.setDirectoryForTemplateLoading(file);
conf.setDefaultEncoding("UTF-8");
//创建template
Template template = conf.getTemplate(templateName);
//设置新的名字
String uuid=UUID.randomUUID().toString().replace("-", "");
htmluri = uuid+suffix;
//设置输出路径
pw =new PrintWriter(new File(file,htmluri));
template.process(data, pw );
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
if(pw!=null){
try {
pw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return htmluri;
}
}
View Code
传入的data只能为map或者实体类
- map和实体类的遍历
- 实体类直接使用字段名
- 多个实体的list对象添加到map中的遍历
//传入的map中的数据as为我们的单条数据
<#list list as l>
城市:${l.cname }
城市级别
<#if l.id lt 10>
一线城市
<#elseif l.id lt 21>
二线城市
<#else>
三线城市
#if>
#list >
在项目中我们需要做的事情,因为我们的删除和更新都存入了html的地址所以我们需要在修改和删除的时候同时删除数据
- 这里为修改
@RequestMapping("/modify")
public String modify(Jobs jobs,HttpServletRequest req){
//先删除url在修改
String realPath = req.getServletContext().getRealPath("/freemakser");
File file = new File(realPath,jobs.getHtmlurl());
if(file.exists()){
file.delete();
}
service.modify(jobs);
return "forward:page";
}
这里为删除
@RequestMapping("/del")
public String delete(Integer id,String htmlurl,HttpServletRequest req){
service.del(id);
String realPath = req.getServletContext().getRealPath("/freemakser");
File file = new File(realPath,htmlurl);
if(file.exists()){
file.delete();
}
return "forward:page";
}
View Code
service中的修改为
@Override
public void modify(Jobs jobs) {
String templatePath = "F:\\JAVAEE\\2019_09_11_cms4\\src\\main\\webapp\\freemakser";
String templateName ="join_us_details.ftl";
String htmlurl = FreeMakerUtil.createFile(templatePath, templateName, jobs, ".html");
jobs.setHtmlurl(htmlurl);
dao.modify(jobs);
}
@Override
public void add(Jobs jobs) {
String templatePath = "F:\\JAVAEE\\2019_09_11_cms4\\src\\main\\webapp\\freemakser";
String templateName ="join_us_details.ftl";
String htmlurl = FreeMakerUtil.createFile(templatePath, templateName, jobs, ".html");
jobs.setHtmlurl(htmlurl);
dao.add(jobs);
}
View Code