`

在struts2中使用freemarker

阅读更多
普通的struts2配置文件一般是这么配置的:
<action name="Action1" class="com.abc.Action1">
    
<result>/page.jsp</result>
</action>

这里的view是一个jsp页面,也可以改成是一个freemarker模板页面:

<action name="Action1" class="com.abc.Action1">
    
<result type="freemarker">/fm.ftl</result>
</action>

当然我们希望能在fm.ftl上使用struts2的标签,需要在fm.ftl页面最开始添加对struts2标签的引用:

<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] />

引用前把struts2-core-2.0.x.x.jar包里的META-INF/struts-tags.tld 复制到 /WEB-INF/struts-tags.tld

默认是不支持JspTaglibs的引用的,这里还需要一个额外的配置,修改web.xml,添加如下内容:

    <servlet>
        
<servlet-name>JspSupportServlet</servlet-name>
        
<servlet-class>
             org.apache.struts2.views.JspSupportServlet
        
</servlet-class>
        
<load-on-startup>1</load-on-startup>
    
</servlet>

一个简单的fm.ftl文件的例子:

<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] />
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
<title>Insert title here</title>
</head>
<body>
<@s.form action="Action1.action">
<@s.textfield name="username"></@s.textfield>
<@s.textfield name="password"></@s.textfield>
<@s.submit value="提交"/>
</@s.form>
<br/>登录用户名:${username}
</body>
</html>

注意:struts2在freemarker页面中标签写法和jsp页面的写法不同,freemarker里是<@s.form>,jsp里是<s:form>,一定不要写错了!

使用时发现对中文的支持不好,显示时中文出现乱码,这里修改下struts.xml配置文件:

<constant name="struts.i18n.encoding" value="gb2312" />

现在就可以在struts2中正常使用freemarker了!

转载: http://www.cnblogs.com/modou/articles/1278850.html

http://hi.baidu.com/zdz8207/blog/item/f483b01be7ba151f8718bfe0.html

分享到:
评论

相关推荐

    在struts2中使用freemarker模版

    要开始在Struts2中使用FreeMarker模板,首先需要将`freemarker-2.3.8.jar`库文件导入到你的项目的`WEB-INF/lib`目录下。这个库包含了FreeMarker模板引擎的所有必要组件。然后创建一个新的web工程,例如`...

    struts2中使用freeMarker

    在Struts2中使用FreeMarker,主要涉及以下几个核心概念和步骤: 1. **配置FreeMarker**: - 在Struts2的配置文件(通常为struts.xml)中,你需要指定FreeMarker作为默认的视图技术。 - 配置FreeMarker的路径,...

    Struts2+FreeMarker部署

    在Struts2中使用FreeMarker作为视图技术,需要进行以下步骤: 1. **配置依赖**:在项目的`pom.xml`或`build.gradle`文件中,添加FreeMarker的依赖库。 2. **配置Struts2**:在`struts.xml`配置文件中,指定使用...

    Struts2与FreeMarker模板

    在Struts2中使用FreeMarker之前,首先需要进行相应的配置。通常的做法是在项目的`struts.properties`文件中添加如下配置: ```properties struts.ui.theme=none struts.views.freemarker.enabled=true ``` 其中`...

    struts2+hibernate+freemarker项目实例

    Struts2、Hibernate和FreeMarker是Java开发领域中常见的三个开源框架,它们分别在MVC(Model-View-Controller)架构的不同层面发挥着关键作用。这个"struts2+hibernate+freemarker"项目实例是将这三个框架集成到一起...

    struts2和freemarker整合

    6. **模板编写**:在FreeMarker模板中使用 `${}` 或 `#set()` 等语法访问和操作Action传入的数据。 **Web项目实例** `freemarker.rar`可能是一个包含运行示例的压缩包,其中包括: 1. **源代码**:Struts2 Action类...

    Struts2 与Freemarker 的配置方法

    - 将struts-tags.tld复制到工程的WEB-INF目录下,这将使Struts2的标签能在JSP或Freemarker模板中使用。 - 配置web.xml,添加Struts2的过滤器和过滤器映射,确保所有请求都经过Struts2处理。同时,为在Freemarker中...

    Struts2整合Freemarker生成静态页面

    在Struts2中整合Freemarker,主要涉及以下几个关键知识点: 1. **Freemarker模板语言**:Freemarker使用模板语言,由`&lt;#...&gt;`和`${...}`这样的标记组成,用来控制逻辑和显示数据。例如,`&lt;#if ...&gt;`用于条件判断,`...

    struts2中jsp和freemarker模板视图的案例

    在这个“struts2中jsp和freemarker模板视图的案例”中,我们将深入理解如何使用这两种不同的视图技术与Struts2框架进行集成。 首先,我们来看JSP(JavaServer Pages)作为视图的实现。JSP是Java中的动态网页技术,...

    struts2+freemarker

    在Struts2中,Freemarker模板通常被用作视图层,将由Action处理后的数据填充到模板中,生成最终的用户界面。开发者可以定义变量和方法,在模板中使用这些变量来动态地生成页面内容。 结合使用Struts2和Freemarker,...

    struts2-freemarker

    3. **国际化与本地化**:Struts2支持国际化,可以在模板中使用`#messages`指令显示不同语言的消息。 4. **模板继承与宏**:FreeMarker支持模板继承,子模板可以继承父模板的部分内容,提高代码复用。宏可以封装常用...

    struts2&&freemarker

    在Struts2中,Freemarker模板通常被配置为Action的结果类型。当一个Action执行完毕后,Struts2会查找相应的Freemarker模板文件,然后将Action的模型数据注入到模板中,生成HTML响应返回给客户端。这一步骤通过`value...

    Struts2与Freemarker生成xml文本详细步骤

    在Struts2中结合使用Freemarker,可以方便地生成XML文本,这对于数据交换或XML配置文件的生成非常有用。以下将详细介绍如何在Struts2中利用Freemarker生成XML文本的步骤。 1. **环境配置** 首先,确保你已经安装并...

    Struts2零配置+FreeMarker用户管理系统(UMS)

    在Struts2中,FreeMarker模板作为视图层,用于渲染控制器处理后传递的数据。FreeMarker模板语言简洁且强大,可以动态地将数据模型与HTML模板结合,生成最终的网页。开发者可以通过 `${}` 符号来引用数据模型中的变量...

    Struts2与Freemarker的配置方法

    7. **Freemarker的变量和表达式**:Freemarker允许在模板中使用`&lt;#if&gt;`, `&lt;#foreach&gt;`, `${variable}`等指令进行条件判断、循环和数据输出。同时,可以通过`&lt;@s.action&gt;`调用Struts2的标签库,实现更复杂的交互。 8...

    Struts2 和freemarker实例

    在Struts2中,FreeMarker通常作为视图层的实现,用于动态生成HTML或其他类型的文档。FreeMarker模板文件(.ftl)是纯文本文件,其中包含HTML代码以及嵌入的FreeMarker指令,这些指令可以在运行时解析并替换为实际的...

    freemaker+struts2

    4. **整合 FreeMarker**:在 Struts2 中使用 FreeMarker 作为视图层,需要添加相应的 JAR 包,并在 `web.xml` 中配置 Struts2 的 FilterDispatcher。在模板中可以直接使用 Struts2 的标签库,通过 `&lt;@...&gt;` 语法调用...

    struts2教程我在培训时用的

    - **在Struts2中使用FreeMarker**:配置Struts2以使用FreeMarker作为视图层。 - **使用Struts2标签**:在FreeMarker模板中使用Struts2提供的标签。 - **作为表现层**:使用FreeMarker来渲染视图。 - **解析模板中的...

    struts2+freemarker 国际化

    在Struts2和Freemarker中实现国际化,可以让应用的用户界面适应全球范围内的用户。 首先,我们需要理解Struts2的国际化流程。Struts2提供了一种机制,通过资源属性文件(通常是.properties格式)来管理不同语言的...

    struts2 freemarker

    通过深入研究这些文件,开发者可以了解到如何在Struts2中配置和使用Freemarker,如何编写Action处理业务逻辑,以及如何设计和控制Freemarker模板来创建动态Web页面。对于希望提升Java Web开发技能的人来说,这是一个...

Global site tag (gtag.js) - Google Analytics