读书人

struts2中运用freeMarker

发布时间: 2013-08-13 16:43:28 作者: rapoo

struts2中使用freeMarker

1.在工程中导入struts2 jar包(里面已经包含了freeMarker的jar包)

2.TestAction.java

package com.test.struts2.action;

?

import com.opensymphony.xwork2.ActionSupport;

?

publicclass TestAction extends ActionSupport {

?

??? private String name;

?

??? @Override

??? public String execute() {

?????? return"success";

??? }

?

??? public String getName() {

?????? returnname;

??? }

?

??? publicvoid setName(String name) {

?????? this.name = name;

??? }

?

}

3.在WebContent目录下新建templates文件夹

4.在templates文件夹下新建result.ftl

<html>

? <head>

??? <title>My JSP 'index.jsp' starting page</title>

? </head>

? <body>

??? <h1>${name}</h1>

??? <@s.form action="reg" >

?????? <@s.textfield label="用户名" name="uname"? />

?????? <@s.submit />

??? </@s.form>

? </body>

</html>

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.devMode" value="true" />

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

??? <package name="test" extends="struts-default" namespace="/">

??????? <action name="test" class="com.test.struts2.action.TestAction">

??????????? <result type="freemarker">/templates/result.ftl</result>

??????? </action>

??? </package>

?

</struts>

6.web.xml

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

??? xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

??? xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

??? id="WebApp_ID" version="2.5">

?

??? <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>

?

??? <servlet>

?????? <servlet-name>freemarker</servlet-name>

?????? <servlet-class>freemarker.ext.servlet.FreemarkerServlet</servlet-class>

?????? <!--下面配置freemarker的ftl文件位置 -->

?????? <init-param>

?????????? <param-name>TemplatePath</param-name>

?????????? <param-value>/templates</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>

?

</web-app>

?

读书人网 >编程

热点推荐