struts2与freemarker结合的实例

开发最头疼的就是环境,一开始只要把环境搭好,后面的其实也可以按部就班来。下面是struts2与freemarker的实例。就以用户登录为实例。

1、首先在Myeclipse中新建工程,引入struts2的那几个核心包,

2、在web.xml中进行配置。

 <filter>
  <filter-name>struts2</filter-name>
  <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
  </filter>
  <filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>/*</url-pattern>
  </filter-mapping>

 

这是在ftl标签中需要使用struts标签的配置,如果不配置的话,ftl是无法识别struts标签的

 <servlet>
  <servlet-name>JspSupportServlet</servlet-name>
  <servlet-class>org.apache.struts2.views.JspSupportServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
  </servlet>

3、新建login.jsp文件

 <body>
    <s:form action="loginAction">
    <s:textfield name="username" label="username"></s:textfield>
    <s:password name="password" label="password"></s:password>
    <s:submit value="提交"></s:submit>
   
    </s:form>
  </body>

创建success.ftl

<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] />
<html>
<head>
<title>欢迎页面</title>
</head>
<body>
<@s.textfield name="name" label="label"/>
欢迎<font  color="red">${username}</font>登录!恭喜您,freemarker实例成功了!
</body>
</html> 

另注明:<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] />这是在ftl页面需要使用struts标签时需要引入的struts标签库,找到struts-core核心包,解压,在META-INF下把struts-tags.tld文件复制到WEB-INF目录下。<@s.textfield name="name" label="label"/>这样使用struts标签。不要与jsp页面使用struts标签混淆。

创建error.ftl

<html>
<head>
<title>错误页面</title>
</head>
<body>
${error}
</body>
</html> 

以下就是Action文件:LoginAction.java

private String username;
private String password;
private String error;

@Override
public String execute() throws Exception {
if(getUsername().equals("helloworld")&&getPassword().equals("123456")){
return SUCCESS;
}
setError("用户名或密码错误");
return ERROR;
}

set 和get方法省略。

struts.xml中的配置

<package name="login" extends="struts-default">
<action name="loginAction" class="cn.freemarker.lhy.test.loginAction">
<result name="success" type="freemarker">/success.ftl</result>
<result name="error" type="freemarker">/error.ftl</result>
</action>
</package>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值