最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

利用Freemarker生成html静态页面_html/css

来源:动视网 责编:小采 时间:2020-11-27 16:39:06
文档

利用Freemarker生成html静态页面_html/css

利用Freemarker生成html静态页面_html/css_WEB-ITnose:通过java生成文件毫无疑问会使用到流,对于流在该文章中不做重点解释。首先我们做一个准备工作,搭建你的项目,采用Freemarker模版技术,首先给大家展示一个Freemarker文件。 预定价格: ${trip.price!'面议'}元 目的地: ${trip.toCity!'
推荐度:
导读利用Freemarker生成html静态页面_html/css_WEB-ITnose:通过java生成文件毫无疑问会使用到流,对于流在该文章中不做重点解释。首先我们做一个准备工作,搭建你的项目,采用Freemarker模版技术,首先给大家展示一个Freemarker文件。 预定价格: ${trip.price!'面议'}元 目的地: ${trip.toCity!'


通过java生成文件毫无疑问会使用到流,对于流在该文章中不做重点解释。首先我们做一个准备工作,搭建你的项目,采用Freemarker模版技术,首先给大家展示一个Freemarker文件。

预定价格: ${trip.price!'面议'}元 目的地: ${trip.toCity!''} 行程天数:${trip.tripDay!'待定'} 提前预定天数: 建议提前一周报名 出团日期:${trip.toTirpTime} 友谊 

模版建好了,我们接下来写一个工具类,通过该工具类生成html文件。FreeMarkerUtil.java 此处我们只列出主要用到的方法。

 public static void writeTo(ServletContext context, Mapmap, String templatePath, 	String templateName, String htmlPath) throws IOException, TemplateException {	Configuration freemarkerCfg = new Configuration(); // 设置要解析的模板所在的目录,并加载模板文件	freemarkerCfg.setServletContextForTemplateLoading(context, templatePath);	freemarkerCfg.setEncoding(Locale.getDefault(), "UTF-8"); // 获取模板,并设置编码方式	Template template = freemarkerCfg.getTemplate(templateName);	template.setEncoding("UTF-8");	File htmlFilel = new File(context.getRealPath("") +File.separator +"html"+File.separator+"channel");	if(! htmlFilel.exists()) {	htmlFilel.mkdir();	}	File htmlFile = new File(context.getRealPath("") + File.separator + htmlPath);	Writer out = new BufferedWriter(new OutputStreamWriter(	new FileOutputStream(htmlFile), "UTF-8")); // 合并数据模型与模板	template.process(map, out);	out.flush();	out.close();	}

需要导入的类,这些都在freemarker-2.3.16.jar 包中了:

import freemarker.template.Configuration;import freemarker.template.DefaultObjectWrapper;import freemarker.template.Template;import freemarker.template.TemplateException;

接下来就是业务处理了,其实很简单的没有任何的技术含量,这个功能也是在使用Freemarker做模版视图较多使用的,此处为了让学习的人看的明白,业务和控制层都写在一个方法了,容易理解。

public ModelAndView doAdd(HttpServletRequest request,	MultipartHttpServletRequest filerequest, Trip trip)	throws ParseException {	Listfile1 = filerequest.getFiles("file1");	Listfile2 = filerequest.getFiles("file2");	if (file1.size() > 0) {	String titleImg = "";	titleImg = uploadImage(request, file1.get(0));	if (null != titleImg && !titleImg.equals("")) {	trip.setImgUrl(titleImg);	}	}	if (file2.size() > 0) {	String titleImg = "";	titleImg = uploadImage(request, file2.get(0));	if (null != titleImg && !titleImg.equals("")) {	trip.setImgUrl2(titleImg);	}	}	trip.setInputTime(new Date());	File directory = new File(request.getSession().getServletContext()	.getRealPath("/")	+ "trip");	if (!directory.exists()) {	directory.mkdirs();	}	DateFormat format1 = new SimpleDateFormat("yyyyMMddhhmm");	String dateStr = format1.format(new Date());	String html = "trip" + File.separator + trip.getChannelId() + "-"	+ trip.getCityId() + "-" + dateStr + ".html";	trip.setUrlStr(html);	PageBean pageBean3 = tripService.getTriplist(0, 10);	ListtripList = pageBean3.getBeanList();	PageBean pageBean2 = newsService.getTripNewslist(1, 10);	ListtripNewsList = pageBean2.getBeanList();	PageBean pageBean22 = newsService.getTripNews2list(1, 10);	ListtripNews2List = pageBean22.getBeanList();	Map map = new HashMap();	map.put("tripNews2List", tripNews2List);	map.put("tripList", tripList);	map.put("tripNewsList", tripNewsList);	map.put("trip", trip);	map.put("base", request.getContextPath());	try {	FreeMarkerUtil.writeTo(request.getSession().getServletContext(),	map, "/templates", "trip.ftl", html);	} catch (IOException e) {	// TODO Auto-generated catch block	e.printStackTrace();	} catch (TemplateException e) {	// TODO Auto-generated catch block	e.printStackTrace();	}	tripService.save(trip);	return new ModelAndView("redirect:/trip/page.shtml?page_now=1");	}

好了,这样你就可以写你的静态网站了。

也许有人现在也不知道生成静态的作用到底是什么呢?

1、访问的时候不需要在操作数据库了。

2、对于搜索引擎来说html静态页面更加的友好。

3、访问速度变的很快。

等等,大家自己感受一下。有需要可留言要源码demo。

本文地址:http://www.osblog.net/code/117.html

文档

利用Freemarker生成html静态页面_html/css

利用Freemarker生成html静态页面_html/css_WEB-ITnose:通过java生成文件毫无疑问会使用到流,对于流在该文章中不做重点解释。首先我们做一个准备工作,搭建你的项目,采用Freemarker模版技术,首先给大家展示一个Freemarker文件。 预定价格: ${trip.price!'面议'}元 目的地: ${trip.toCity!'
推荐度:
标签: 生成 页面 it
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top