Struts2下使用FreeMarker

FPGA工程师必看:JESD204B同步机制实战指南(含SYSREF信号调试技巧) 本文为FPGA工程师提供了一份JESD204B同步机制的实战指南,重点聚焦于SYSREF信号的调试技巧。文章从同步的核心逻辑出发,深入剖析了时钟、SYSREF与对齐序列这“三驾马车”的协作,并详细阐述了硬件PCB布局、FPGA IP核配置、状态机监控以及使用示波器进行波形分析等关键实战步骤,旨在帮助工程师解决多通道高速系统中的同步难题,确保链路的稳定与确定性延迟。 阅读详情

   当今的页面展示技术主要分为两种:基于JSP和EL表达式、采用模板引擎(FreeMarker、Velocity等)。 FreeMarker是一个用java语言编写的模板引擎,它基于模板生成文本输出。它强制将展示层和业务逻辑层分开,使开发人员不能像JSP页面那样在页面中添加业务逻辑。

FreeMarker采用${…}的语法形式在模块中充当占位符,运行时,由模板引擎解析模板,并用动态数据替换${…}部分的内容。FreeMarker不仅可以用作表现层的实现技术,还可以生成XMLJspJava文件等。

FreeMarker模板主要由四部分组成 :

◆普通文本

◆注释 <#--注释内容-->

插值:${..}和#{..} 

◆FTL标签。FTL标签的名字以#开始,如:<#if user=“admin”>…</#if>;自定义标签使用@代替#。

 

一、使用FreeMarker作为Struts2表现层的示例

freemarker.ftl

生成的页面如下:

 

二、使用FreeMarker模板生成Action示例

 

为了使用FreeMarker来将数据模型中的值合并到模板文件中,可按如下步骤进行:

1,创建Configuration实例,该实例负责管理FreeMarker的模板加载路径,负责生成模板实例

2,使用Configuration实例来生成Template实例,同进需要指定使用的模板文件

3,填充数据模型,数据模型就是一个Map对象

4,调用Template实例的process方法完成合并

action.ftl模板内容如下:

运行测试方法createAction()在指定路径下生成createAction.java文件,文件内容如下:

import com.opensymphony.xwork2.ActionSupport;

public class CuiAction extents ActionSupport{
public String execute() {
        System.out.println("1212");
        return SUCCESS;
    }
}

可见,用user对象的值填充了freemarker文件中的占位符。

PS:在上面的示例完成后又在工程下做了一些其他的示例,这两天学习FreeMarker重新运行第一个示例时FreeMarker却报错了,提示无法获取list变量,错误信息如下:

   把list放入Session中可以正常显示,但是手动把变量放入Session中不仅麻烦session也会越来越大,这样肯定不能解决问题。重新创建了一个strut2工程,取消了struts-convention插件支持,测试成功,这让我怀疑是struts-convention插件对FreeMarker的支持有问题,但写这篇博客时做的示例就好好的。后来换到LoginAction下进行测试,但是又发现一个问题:登录form中的username和password无法通过属性驱动传递到LoginAction的username和password属性中,提取参数并将参数传递给Action属性的工作是由param拦截器实现的,难不成param拦截器出问题了?应该也不会,上网搜了一下发现http://topic.csdn.net/u/20110213/14/59b09329-b292-4164-a0fa-e2e6d7fa20d8.html?65640中遇到的问题和我的一样,他提到去掉AOP支持就可以正常传值,这才想到自己前几天做了一个Spring AOP的示例,把applicationContext.xml中关于AOP的配置去掉,页面到Action的传值成功,Action中的属性传值给FreeMarker模板也成功了。关于Spring AOP造成传值失败需要再查找一下。

语义通信理论必看论文:Towards a Theory of Semantic Communication 了解语义通信发展必看的一篇文章 阅读详情

相关推荐

struts2使用freeMarker

NULL 博文链接:https://cdxs2.iteye.com/blog/1923067

Struts2 结合 Freemarker 实例

Freemarker 是一个不依赖 web 容器的模板引擎,一个基于模板生成文本输出的工具。其工作的原理如下图:   freemarker 不是一个 web 应用的框架,而适合作为 web 应用的一个组件。使用 freemarker ,可以用已经定义好的模板,生成各种想要的文件,在某些方面使用起来还是挺快捷的,例如使用 freemarker 编写一个代码生成器。本文就是一个结合 St

WO的专栏 746

SSH+Freemarker整合

SSH+Freemarker 的整合方案最小项目案例

Struts2freemarker 生成Json、XML 的模板

必须加入的包有jsonplugin-0.30.jar,xsttream-1.3.jar,freemarker-2.3.8.jar [code="xml"] ///struts.xml template/gridXml.f...

caizhongda的专栏 196

struts2使用freemarker

Struts2中, 使用freemarker 十分方便。我们有两种途径让输出结果展示freemarker 的内容。1. 直接设置 result 的 type 为 freemarker.如下: <package name="startfromheart.default" namespace="/admin/channel" extends="struts-defaul

zhouyi_cute的专栏 672

struts校验返回freemarker页面显示校验结果

1.struts校验原理: 配置要校验的action响应路径,比如www.baidu.com/test.action 那么后台定要配置一个与之相应的test名称的action类,和test-validate.xml来进行校验 2.test-validate.xml中校验例子:   "-//Apache Struts//XWork Validator 1.0.2//EN"

tsbthxq的博客 467

FreeMarker作为Struts2的视图

 Struts使用FreeMarker作为其默认的模板技术,因此Struts2FreeMarker的支持非常良好。因此,为了Struts2应用中使用FreeMarker模板技术,只需要在struts.xml文件中进行简单配置即可。由于FreeMarker自供的FTL指令的能力非常有限,让我们编写一些相对复杂的界面里有点力不从心。不过不用担心,Struts2已经为我们提供了额外的标签库的支持。

阿布客栈 1万+

freemarker使用struts2标签库

freemarker作为视图,struts2作为MVC框架,出现错误。freemarker/ext/jsp/Pagecontextfactory.java,说出现了XXX错误。错如截图如下。      我是按照这个教程来做的,照例来说没错才对啊!反正出错误了,找了很久的原因。后来发现就是在代码中加了这么一行:。我用的是struts2.3,估计是最新更新的不用导入这个也可以直接用了。后

EH820的专栏 1967

struts2学习笔记(十四)——freemarker使用

使用FreeMarker 1.       创建Configuration实例,setDirectoryForTemplateLoading 2.       生成Template实例 3.       填充数据,数据就是一个Map对象 4.       调用Template的process方法完成合并 5.       在jsp页面中使用  ${} 访问 FreeMarker模板文件

dananhai381的专栏 1006

Struts2freemarker的配置实例讲解

Freemarker 简介       FreeMarker允许Java servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。模板用servlet提供的数据动态地生成 HTML。模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。    FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写    

sz_bdqn的专栏 6528

SSH+Freemarker整合一(下)

博客分类:  SSH整合 SSHfreemarkerJDBCMySQLHibernate 8、创建jdbc.properties连接mysql数据库  test=HelloWorld  jdbc.driverClassName=org.gjt.mm.mysql.Driver  jdbc.url=jdbc:mysql://localhost:3306/mytest?useUn

secret_killer的专栏 2139

FxData:外汇数据文件

FxData:外汇数据文件

上一篇: JQuery日期插件datepicker的使用
下一篇: SSH下Action中无法注入业务bean的解决方法
cuisea
博客等级 码龄18年 77粉丝 74原创
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值