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