一.使用 struts2 的 freemarker 视图技术基本使用步骤,如下:
1、在 freemarker 中使用 struts2 标签
(1)解压 struts2-core.jar 文件,把在 META-INF 文件夹下面的 struts-tags.tld 文件复制
到 WEB-INF 文件夹下。
(2)在 web.xml 文件中启动 JSPSupportServlet.代码如下:
<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>
2、使用 freemarker Result
(1)创建 Action 类根据程序所需,创建相应的 action,示例代码如下:
public class Login extends ActionSupport implements ServletRequestAware{
private HttpServletRequest request;
@Override
public String execute() throws Exception{
return "success";
}
}
(2)配置 struts.xml 文件,示例代码如下:
<package name="struts2" namespace="/mystruts" extends="struts-default">
<action name="Login" class="action.Login">
<result name="success" type="freemarker">/WEB-INF/welcome.ftl</result>