在FreeMarker中使用Struts标签,将struts-tags.tld文件解压出来,放在WEB-INF下,然后在web.xml中配置
<servlet>
<servlet-name>JspSupportServlet</servlet-name>
<servlet-class>org.apache.struts2.views.JspSupportServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
在login.ftl文件中使用Struts2标签(*.ftl文件为FreeMarker文件类型)
//导入Struts2标签
<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] />
//使用struts2标签
<@s.form action="Login2.action">
<@s.textfield name="username" label="username"/>
<@s.textfield name="password" label="password"/>
<@s.submit value="提交"/>
</@s.form>
//错误页面
<html>
<head>
<title>错误页面</title>
</head>
<body>
${error}
</body>
</html>
//成功页面
<html>
<head>
<title>登录成功页面</title>
</head>
<body>
欢迎${username}登录!
</body>
</html>
//LongingAction.java
private String username;
private String password;
private String error;
........
public String execute() throws Exception{
if(getUsername().equals("admin")&&getPassword().equals("123456")){
return "success";
}
else{
setError("登录失败!");
return "error";}
}
在struts.xml中配置
<package name="action" extends="struts-default">
<action name="Login2" class="LogingAction">
<result name="error" type="freemarker">/WEB-INF/freetmle/error.ftl</result>
<result name="success" type="freemarker">/WEB-INF/freetmle/welcom.ftl</result>
</action>
<action name="*">
<result type="freemarker">/WEB-INF/freetmle/{1}.ftl</result>
</action>
</package>
登录时以login.action 登录,可直接访问login.ftl