`

struts2整合Freemarker

阅读更多
1.解压struts2-core-X.X.X.jar文件,把在META-INF文件夹下面的struts-tags.tld文件复制到WEB-INF文件夹下。
     将freemark的jar导入到工程中

2.在web.xml文件中配置freemark同时启动JSPSupportServlet.代码如下:
<servlet>
        <servlet-name>freemarker</servlet-name>
        <servlet-class>
            freemarker.ext.servlet.FreemarkerServlet
        </servlet-class>
        <!--下面的配置freemarke的ftl文件的位置 -->
        <init-param>
            <param-name>TemplatePath</param-name>
            <param-value>/</param-value>
        </init-param>
        <!-- 是否和服务器(tommcat)一起启动。0为不。1为是-->
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>freemarker</servlet-name>
        <url-pattern>*.ftl</url-pattern>
    </servlet-mapping>


<servlet>
  <!-- define a JspSupportServlet Object -->
  <servlet-name>JspSupportServlet</servlet-name>
  <servlet-class>org.apache.struts2.views.JspSupportServlet</servlet-class>
  <!-- setting JspSupportServlet auto start -->
  <load-on-startup>1</load-on-startup>
 </servlet>

3.在FreeMarker模板中使用assign指令导入标签库。代码如下

<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] /> 注:这里我把struts-tags.tld放在WEB-INF下面

4.现在我们可以在FreeMarker模板中使用标签了
示例代码如下:
<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] />
<@s.form action="login">
 <@s.textfield name="username" label="username"/>
 <@s.submit value="login" />
/@s.form

<!-- login.ftl代码如下 -->
<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] />
<html>
<head>
<title>Login Form</title>
</head>
<body>
please input username and password login<br>
<@s.form action="Login.action">
 <@s.textfield name="username" label="username"/>
 <@s.password name="password" label="password" />
 <@s.submit value="submit" />
</@s.form>
</body>
</html>


<!-- welcome.ftl代码如下: -->
<html>
<head>
<title>Success</title>
</haed>
<body>
WelCome,${username},you logined!<br>
<a href="ShowInfo.action">Show Information</a>
</body>
</html>

<!-- showinfo.ftl代码如下: -->
<html>
<head>
<title>User Information</title>
<body>
<table border="1" width="360">
<caption>User Information</caption>

<tr>
<td>username:</td>
<td>${username}</td>
</tr>
<tr>
<td>sex:</td>
<td>${sex}</td>
</tr>
<tr>
<td>age:</td>
<td>${age}</td>
</tr>
</table>
</body>
</html>
分享到:
评论

相关推荐

    Struts2整合Freemarker生成静态页面

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

    struts2整合FreeMarker开发HelloWorld

    在"Struts2整合FreeMarker开发HelloWorld"的项目中,我们将学习如何在Struts2框架下使用FreeMarker模板技术来创建一个简单的 HelloWorld 示例。首先,我们需要确保我们的开发环境中已经安装了Apache Struts2和...

    struts2和freemarker整合

    2. **配置文件**:`web.xml`和`struts.xml`,展示了整合FreeMarker的具体配置。 3. **运行指南**:如何部署和运行这个Web项目的说明。 4. **示例模板**:展示如何在实际开发中使用FreeMarker模板进行页面渲染。 ...

    Struts2 与Freemarker 的配置方法

    Struts2 和 Freemarker 的整合是企业级Java Web开发中常用的技术组合,它们结合使用能够实现灵活、高效的表现层设计。Struts2 是一个强大的MVC框架,而Freemarker则是一个模板引擎,用于生成动态内容。以下是关于...

    struts2.0整合freemarker

    2. **配置Struts2**:在struts.xml文件中配置Struts2的核心过滤器,并设置Freemarker为默认的视图解析器。例如: ```xml &lt;filter-name&gt;struts2 &lt;filter-class&gt;org.apache.struts2.dispatcher.ng.filter....

    struts2+freemarker 框架

    Struts2整合FreeMarker实例框架初学例子. myeclipse 工程代码. 利用Struts2生成静态页面其实很灵活,很强大,尤其是利用Struts2对Freemarker较好的支持,充分利用Freemarker的模板功能来生成静态页面。 比较简单....

    struts2-freemarker

    **Struts2与FreeMarker整合**: 1. **视图渲染**:Struts2 Action执行完成后,可以通过配置将结果导向FreeMarker模板。例如,设置`&lt;result type="freemarker"&gt;/WEB-INF/views/result.ftl&lt;/result&gt;`。 2. **数据传递*...

    Struts2与Freemarker的配置方法

    通过以上步骤,可以成功地将Struts2与Freemarker整合到一起,构建出高效的Java Web应用。在实际开发中,还需要关注安全性、异常处理、国际化等方面,确保应用的稳定性和用户体验。同时,不断学习和理解这两个框架的...

    struts2+hibernate+freemarker项目实例

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

    spring+hibernate+struts2+freemarker SSH2 新闻发布系统

    总结起来,"spring+hibernate+struts2+freemarker SSH2 新闻发布系统"是一个基础的Java Web项目,展示了SSH2框架组合在实际开发中的应用。开发者可以通过学习这个小例子,理解如何整合这些技术来构建更复杂的Web应用...

    struts2 freemarker

    **Struts2与Freemarker的整合:** 1. **视图层**:在Struts2中,Freemarker作为默认的视图技术,Action的结果可以直接映射到Freemarker模板文件。 2. **模板配置**:在struts.xml配置文件中,可以指定Action的结果...

    struts2与Freemarker的配置文件

    在项目开发中,Struts2和Freemarker是两种常见的技术,它们可以在Web层面上进行整合使用。Freemarker是一个模板引擎,它提供了一套自己的模板指令,帮助开发者在表现层上快速开发。而Struts2是一个框架,它提供了对...

    struts2+freemarker学习案例

    **Struts2与FreeMarker的整合:** 1. **Action与模板**:在Struts2中,Action执行完成后,通常会返回一个模板(通常是FTL文件),FreeMarker会解析这个模板并结合数据模型生成HTML响应。 2. **结果类型配置**:在...

    struts1.x整合freemarker

    通过以上知识点的介绍,我们对Struts1.x整合Freemarker有了全面的理解。在实际开发中,这样的整合可以显著提高项目的开发效率和代码质量,降低维护成本。同时,随着技术的发展,虽然Struts1.x已逐渐被Struts2、...

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

    Struts2和FreeMarker是Java Web开发中两个重要的框架,它们在构建动态、高效的应用程序时发挥着关键作用。这个名为"Struts2零配置+FreeMarker用户管理系统(UMS)"的项目,旨在通过注解的方式展示如何在不编写XML配置...

    freemarker与struts2整合的实例应用

    适合初学freemarker的人参考的一个简单登录代码。主要是实现freemarker与struts2的整合

    freemarker+struts2+spring完美整合!

    部署到tomcat中, 访问/freemarker/build_index.action 点击首页生成,当显示生成成功过后 然后访问 ...已经完美将struts2+freemarker+spring整合~ 希望对你们有所帮助。 经测试:tomcat5.5 无法正常运行

    spring与struts2整合

    6. **视图解析**:Struts2 可以通过 JSP、FreeMarker 或其他模板技术来展示视图。视图结果通常由 Action 方法返回的字符串决定,该字符串作为视图资源的路径。 7. **测试与调试**:完成整合后,需要进行单元测试和...

    freemarker项目(从入门到与struts2结合)

    2. **整合Struts2**:搭建一个Struts2项目,配置FreeMarker,编写Action,然后在模板中使用从Action传递的数据。 3. **构建复杂页面**:通过模板继承、宏和指令,构建具有导航、头部和内容区的复杂页面。 4. **错误...

    mybatis+struts2整合demo

    2. Struts2整合:Struts2通过Action类处理用户的请求,并利用OGNL(Object-Graph Navigation Language)表达式语言进行数据绑定。在整合MyBatis时,通常会创建一个Action类,该类将调用Service层的方法,Service层则...

Global site tag (gtag.js) - Google Analytics