`
Luob.
  • 浏览: 1590112 次
  • 来自: 上海
社区版块
存档分类
最新评论

Struts2整合FreeMarker

阅读更多
1.jar 重要的 freemarker.jar
commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
commons-lang3-3.1.jar
commons-logging-1.1.1.jar
freemarker-2.3.19.jar
javassist-3.11.0.GA.jar
ognl-3.0.5.jar
struts2-core-2.3.4.jar
xwork-core-2.3.4.jar

2.web.xml中配置 freemarker 和  struts2
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<servlet>
	<servlet-name>JspSupportServlet</servlet-name>
	<servlet-class>org.apache.struts2.views.JspSupportServlet</servlet-class>
	<load-on-startup>1</load-on-startup>
</servlet>
<filter>
	<filter-name>struts2</filter-name>
	<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
	<filter-name>struts2</filter-name>
	<url-pattern>/*</url-pattern>
</filter-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>



3.Book.java
package com.sh.entity;

public class Book {
	private String bookName;
	private String author;
	private double price;
 //get set
}


4.action.java
package com.sh.action;

import com.opensymphony.xwork2.ActionSupport;
import com.sh.entity.Book;

public class ShowBookAction extends ActionSupport {

	private Book book;

	public Book getBook() {
		return book;
	}

	public void setBook(Book book) {
		this.book = book;
	}

	@Override
	public String execute() throws Exception {
		// TODO Auto-generated method stub
		return SUCCESS;
	}
	
}


5.struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts> 
   <constant name="struts.i18n.encoding" value="utf-8"/>
   <package name="default" extends="struts-default" namespace="/books">
   		<action name="addBook">
   			<result name="success" type="freemarker">/templater/addBook.ftl</result>
   		</action>
   		<action name="showBook"  class="com.sh.action.ShowBookAction">
   			<result name="success" type="freemarker">/templater/showBook.ftl</result>
   		</action>
   </package>
</struts>


6.webroot\templater
  addBook.ftl
<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"]/>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>addBook.ftl</title>
  </head>
  
  <body>
    <div>
    	<h3>添加图书</h3>
    	<hr/>
    	<@s.form id="id" action="showBook">
    		<@s.textfield name="book.bookName" label="图书名称"/>
    		<@s.textfield name="book.author" label="图书作者"/>
    		<@s.textfield name="book.price" label="图书价格"/>
    		<@s.submit value="提交"/>
    	</@s.form>
    </div>
  </body>
</html>


showBook.ftl
<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"]/>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>showBook.ftl</title>
  </head>
<body>
	<center>
		<div>
			<h3>图书信息</h3>
			<hr/>
			图书名称:${book.bookName}<br/>
			图书作者:${book.author}<br/>
			图书价格:${book.price}<br/>
		</div>
	</center>
</body>
</html>


7.在 web-int 下 添加  struts-tags.tld  (struts2-core-2.3.4.1.jar\META-INF)


8.如果 ftl 有乱码  点击文件 右键 -->properties  --text file encoding

9.访问
  http://localhost:8083/StrutsAndFreeMarker/books/addBook.action

分享到:
评论

相关推荐

    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