当前位置: 首页 > news >正文

正规的扬中网站建设广东网站建设哪家专业

正规的扬中网站建设,广东网站建设哪家专业,网站logo设计创意,zhihe网站建设 淘宝模板引擎的实质就是将页面结构提前写好#xff0c;然后将数据渲染到模板上生成一个静态页面#xff0c;这样一来#xff0c;下次就可以 直接访问静态文件#xff0c;不用进行额外的获取数据的操作#xff08;例如#xff1a;访问数据库#xff09;#xff0c;这样大大提…模板引擎的实质就是将页面结构提前写好然后将数据渲染到模板上生成一个静态页面这样一来下次就可以 直接访问静态文件不用进行额外的获取数据的操作例如访问数据库这样大大提升了网站的访问速度。 现在以一个demo为例来学习一下Freemarker顺便提一下其中的一些细节。 1.新建maven支持的web项目 新建web项目并为其添加Maven支持个人建议选择MyEclipse Maven JEE Project如果选择下面一条的话 会多出4个名字较长的文件夹而我们本身又不一定会用到。 2.pom.xml文件添加依赖包 dependencygroupIdorg.springframework/groupIdartifactIdspring-context-support/artifactIdversion3.2.4.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion3.2.4.RELEASE/version/dependencydependencygroupIdorg.freemarker/groupIdartifactIdfreemarker/artifactIdversion2.3.23/version/dependency 这里添加了三个依赖包spring-context-support、spring-webmvc、freemarker记住缺一不可缺一不可而且 所添加的两个spring-xxx依赖包的版本最好相同否则运行的时候可能会出现servlet初始化错误这是因为这两个包 相同版本之间存在依赖关系切记 3.web.xml配置 这个文件位于WebRoot--WEB-INF目录下 filter filter-nameCharacterEncodingFilter/filter-namefilter-classorg.springframework.web.filter.CharacterEncodingFilter/filter-classinit-paramparam-nameencoding/param-nameparam-valueutf-8/param-value/init-param/filterfilter-mappingfilter-nameCharacterEncodingFilter/filter-nameurl-pattern//url-pattern/filter-mappingservletservlet-nameTestFreemarker/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-classinit-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath:springmvc.xml/param-value/init-paramload-on-startup1/load-on-startup/servletservlet-mappingservlet-nameTestFreemarker/servlet-nameurl-pattern//url-pattern/servlet-mapping 第一个过滤器为了防止中文乱码而设置第二个servlet是springmvc的。 红字表示名称自定义不一定要和我写的一样。但是一定要和自己后面的文件名关联起来不要在这里写A在后面 写B这个B自然不会指向A 4.springmvc.xml配置 这里在项目的src目录下新建上面红字所指的springmvc.xml文件 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlns:contexthttp://www.springframework.org/schema/contextxmlns:mvchttp://www.springframework.org/schema/mvcxsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd!-- 配置包扫描器扫描Controller注解的类 --context:component-scan base-packageeco /!-- 配置注解驱动 --mvc:annotation-driven /!-- 项目视图解析器 --beanclassorg.springframework.web.servlet.view.InternalResourceViewResolverproperty nameprefix value/WEB-INF/jsp/ /property namesuffix value.jsp //bean!-- Freemarker配置 --bean idfreemarkerConfigclassorg.springframework.web.servlet.view.freemarker.FreeMarkerConfigurerproperty nametemplateLoaderPath valueWEB-INF/template/ /!-- 模板目录 --property namefreemarkerSettingspropsprop keyincompatible_improvements2.3.23/propprop keytemplate_exception_handlerrethrow/propprop keydefault_encodingUTF-8/propprop keylocaleUTF-8/prop!-- 本地化设置 --prop keyurl_escaping_charsetUTF-8/prop/props/property/bean /beans 黄绿色字体和防止中文乱码有关切勿缺失 就像你所看到的红字那样WEB-INF目录下有两个文件夹一个template是用来放置模板的后缀是.ftl 还有一个文件夹是jsp是模板生成的jsp文件放的地方。 网上很多都添加了一个freemarker视图解析器说是用来访问html经验证可以无视这个视图解析器 后面会讲到。 5.建立模板文件xxx.ftl 按照上面所示在WEB-INF下的view目录下放一个模板文件例如01.ftl内容如下 % page languagejava importjava.util.* pageEncodingUTF-8% % String path request.getContextPath(); String basePath request.getScheme()://request.getServerName():request.getServerPort()path/; %!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN htmlheadbase href%basePath%titleMy JSP index.jsp starting page/titlemeta http-equivpragma contentno-cachemeta http-equivcache-control contentno-cachemeta http-equivexpires content0 meta http-equivkeywords contentkeyword1,keyword2,keyword3meta http-equivdescription contentThis is my pagemeta http-equivContent-Type contenttext/html; charsetutf-8!--link relstylesheet typetext/css hrefstyles.css--/headbodyThis is my JSP page. br姓名 ${a.name}br年龄 ${a.age}br性别 ${a.sex}br/body /html 这就是一个freemarker模板jsp页面了将在之后与数据相结合生成一个jsp文件详情请往下看。 6.SpringMVC控制器 package eco;import java.io.FileOutputStream; import java.io.OutputStreamWriter; import java.util.HashMap; import java.util.Map;import javax.annotation.Resource;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer;import freemarker.template.Configuration; import freemarker.template.Template;Controller public class Tcontrollor {ResourceFreeMarkerConfigurer freeMarkerConfigurer;RequestMapping(/{name})public String Html(PathVariable String name) {try {// 获取连接Configuration configuration freeMarkerConfigurer.getConfiguration();// 获取数据MapString, Student stu new HashMapString, Student();// 添加数据,这个就是自己创建的一个类stu.put(a, new Student(桔子桑, 18, 男));// 获取ftl,由于已经在配置文件中配置了路径所以在这里直接写模板名称就可以Template template configuration.getTemplate(01.ftl);// 输出文件路径String dir D:/Tomcat 7.0/webapps/PRO/WEB-INF/jsp/ name .jsp;// Writer wr new FileWriter(dir);OutputStreamWriter writer new OutputStreamWriter(new FileOutputStream(dir), UTF-8);// 写入template.process(stu, writer);// 关闭流writer.close();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}return name;} } 全是注释相信不难看懂。 ①红字dir是输出文件的路径名后面根据此路径名创建输出流对象注意的是地址要是部署到tomcat上的项目地址 而不是你MyEclipse的workplace里面的项目地址因为浏览器只会访问tomcat上的资源的 ②网上很多都是直接Writer wr new FileWriter(dir)而FileWriter和FileReader是使用系统当前默认的编码方式 并且都不支持通过参数指定编码方式因此我们需要使用FileOutputStream来为这个输出流对象设定UTF-8编码 以此来规避中文乱码的问题。   接下来就是检验最终成果的时候了 浏览器输入项目地址66SpringMVC的控制器结合模板和数据到指定目录下生成jsp文件并且最后根据视图 解析器访问刚刚生成的jsp文件。 7.访问html文件 接下来试试输出html文件看看能不能访问相关代码作以下更改 String dir D:/Tomcat 7.0/webapps/PRO/WEB-INF/jsp/ name .html;!-- 视图解析器 --beanclassorg.springframework.web.servlet.view.InternalResourceViewResolverproperty nameprefix value/WEB-INF/jsp/ /property namesuffix value.html /property namecontentType valuetext/html;charsetUTF-8 //bean 指定目录下生成html文件并且视图解析器改为访问该目录下的对应html文件来看看效果吧。 啊哦出错了原因就是生成的WEB-INF目录下的html文件是静态文件虽然控制器指示跳转到该页面但是web.xml 文件中的DispatcherServlet对其进行了过滤所以就会出现上面的情况404not found我们要做的的就是不让 DispatcherServlet对*.html格式的文件进行过滤方法有三https://www.cnblogs.com/shanheyongmu/p/5552034.html 个人建议第一种方便在DispatcherServlet前面加上如下代码 servlet-mappingservlet-namedefault/servlet-nameurl-pattern*.html/url-pattern/servlet-mapping 然后再来看看结果 正如大家所愿正常跳转到66.html并在指定目录生成该文件。   至此freemarker模板引擎的使用告一段落至于模板的一些语法日后再作探讨。睡觉~~~~·  转载于:https://www.cnblogs.com/eco-just/p/8542952.html
http://www.huolong8.cn/news/6166/

相关文章:

  • 如何查询网站注册信息查询邢台移动网站建设
  • 免费自做网站网站备案查询接口
  • 汶上网站制作网站免费搭建
  • php网站建设用什么重庆交通建设监理协会网站
  • 企业自助建站湖北做网站教程哪家好
  • 长春哪家做网站便宜泸州中泸建设集团有限公司网站
  • 手机免费建立网站吗网站备案幕布拍照是什么
  • 个人网站展示山东三强建设咨询有限公司网站
  • 山东省建设建设监理协会网站育儿哪个网站做的好
  • 如何看出一个网站优化的是否好企业的vi设计系统
  • 网站首页设计定位视频号视频下载助手app
  • 网站空间到期 数据公司企业邮箱有哪些
  • 接单做一个网站多少钱什么网站做简历好
  • 网站管理员怎么做联系方式设计之家下载
  • 分类信息网站做推广wordpress dedecms discuz
  • a站插画网站是先解析后备案吗
  • 做网站做哪个行业好网站广告怎么做
  • 邯郸网站设计培训机构平面设计主要做什么的
  • 网页图片无法保存seo官网优化怎么做
  • 商城网站前期推广找别人建个网站多少钱
  • ppt做视频模板下载网站有哪些男性早些泄吃什么药可以根治
  • 展示型网站设计方案wordpress.文章缩略图
  • 网站建设求职要求济南网站推广服务
  • 鲜花网站建设项目概述怎样申请免费网站
  • 如何自己写一个网站怒江网站制作
  • 浦江县做网站泉州快速建站模板
  • 淘客手机网站模板一个服务器可以做几个网站
  • 贡井区建设局网站?学动漫设计好找工作吗?
  • win10记事本怎么做网站wordpress网站维护页面
  • 网站开发实现页面的跳转wordpress资源管理