如何在freemarker中获得当前时间

如何在freemarker中获得当前时间,第1张

1、打开eclipse IDE集成开发工具。

2、在菜单栏中选择Help菜单,在选择项中选择Install New Software 。

3、点击Add 按钮 Name:FreeMarker; Location:>

4、选择你要安装的文件(注意:如果只需要安装FreeMarker IDE,只需勾选  JBoss Application Development 文件夹 ),选择完后选择Next。

5、安装修复页面,这个页面仅针对eclipse IDE第一次安装插件才会显示。

6、等安装完成会询问你是否重启Eclipse IDE来应用你下载的插件,选择Restart Now;等Eclipse IDE后会d出一个内容为:是否同JBoss团队通过eclipse统计信息的询问窗口,选择Yes即可。

它是一个Java package,面向Java程序员的class library。它本身并不是针对最终用户的应用,而是允许程序员将其嵌入到他们的产品中。FreeMarker被设计用来生成HTML Web页面,特别是基于MVC(Model View Controller)模式的应用程序。使用 MVC 模式作为动态的WEB页面的想法,是为了分隔页面设计者 (HTML 设计者) 和程序员。每个人做自己擅长的那一部分。设计者可以不通过程序员的改变或修改代码来改变网页的样子,因为应用逻辑(Java程序)和页面设计(FreeMarker 模版)是分开的。模板不会被复杂繁琐的程序框架所破坏。即使当一个项目的程序员和HIMTL页面的制作者是同一个人时,这种分隔也是很有用,因为这样有助于保持应用的清晰并易于维护。尽管FreeMarker有一些编程的能力,但它并不是一个象PHP那样的成熟的编程语言。与Java不同的是,Java程序准备用来显示的数据(如SQL queries),而Freemarker仅是生成文本页,这个文本页显示用于模板的预备数据。FreeMarker不是一个Web应用框架,而更适合充当Web应用框架里的一个组件的角色,但FreeMarker引擎本身对>

addAttribute,put两个方法继承的方法不同。

具体见解如下:

两者的继承路径不同。ModelMap是继承自LinkedHashMap的,而LinkedHashMap继承自HashMap,HashMap实现了Map接口,实现其put方法,因此ModelMap中的put方法是继承自 HashMap的;

addAttribute可以检查key值是否为空。其实也是调用的put方法,但是会在调用之前判断 key值是否为null,如果为null则会报错

javalangIllegalArgumentException: Model attribute name must not be null,而put方法不会检查key值是否会空。

总而言之,ModelMap对象的 addAttribute,put两个方法有什么区别就是  addAttribute是不允许添加空值的key,put是允许的。

Freemarker是一个模板框架。我们可以通过Freemarker进行代码生成或页面的静态生成。 现在简单的说一下怎样使用Freemarker Freemarker的主要生成类

public boolean generate(String templateFileName, Map data,

String fileName) {

try {

//取得模板的位置

String templateFileDir=templateFileNamesubstring(0, templateFileNamelastIndexOf("/"));

//取得模板的名字

String templateFile=templateFileNamesubstring(templateFileNamelastIndexOf("/"), templateFileNamelength());

//取得生成文件的路径

String genFileDir=fileNamesubstring(0, fileNamelastIndexOf("/"));

Template template = ConfigurationHelpergetConfiguration(templateFileDir)getTemplate(templateFile);

File fileDir=new File(genFileDir);

orgapachecommonsioFileUtilsforceMkdir(fileDir);

File output = new File(fileName);

if(outputexists()){

//如何代码已存在不重复生成

return false;

}

Writer writer = new FileWriter(output);

templateprocess(data, writer);

writerclose();

} catch (TemplateException e) {

eprintStackTrace();

return false;

} catch (IOException e) {

eprintStackTrace();

return false;

}

return true;

}

代码中的Map 是模板所需要的数据,我们可以通过面向对像的方法把数据存在模板中public boolean genDaoInterface(String fileName){

DaoModel daoModel=new DaoModel();

//设置Dao实现类的包名

daoModelsetPackageName(DaoConstantPACKAGE);

//取得接口名

String className=StringUtilssubstringBefore(fileName,"");

//设置接口名

daoModelsetClassName(className);

Map<String, Object> data = new HashMap<String, Object>();

dataput("model", daoModel);

//设置生成的位置

String filePath=new String("src/"+package2path(DaoConstantPACKAGE)+"/"+fileName);

//代码生成

return supergenerate(DaoConstantINTERFACE_TEMPLATE, data, filePath);

}

dataput("model", daoModel);由这句代码可看出我们将可以在模板中直接调用这些数据package ${modelpackageName};

public interface ${modelclassName} extends BaseHibernateDao {

}

1、FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写

2、FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序

3、FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据

4、FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件

5、FreeMarker与容器无关,因为并不知道>

以上就是关于如何在freemarker中获得当前时间全部的内容,包括:如何在freemarker中获得当前时间、什么是FreeMarker、freemarker 整合springmvc时, ModelMap对象的 addAttribute,put两个方法有什么区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9651864.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存