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

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics