1.struts2在开发中所必须用到的jar包导入到项目的lib目录下
2.在web.xml中配置一个过滤器,代码格式如下
<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>
当然,大家应该知道struts2的核心技术是基于拦截器实现的
3.写一个简单的Action
CustomerAction.java
package com.sdu.crm.action;
import org.directwebremoting.util.SystemOutLoggingOutput;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.sdu.crm.dao.impl.CustomerDaoImpl;
import com.sdu.crm.pojo.Customer;
import com.sun.net.httpserver.Authenticator.Success;
public class CustomerAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private Customer customer;
public Customer getCustomer() {
return customer;
}
public void setCustomer(Customer customer) {
this.customer = customer;
}
/**
*
* @author fighter24h
* 自定义的action方法
* 其形式同execute方法
* 返回String,抛出Exception
* 方法名字对应struts配置文件中的method属性
*/
public String addCustomerInfo() throws Exception {
return "addCustomerInfoOk";
}
}
4.配置acton对应的strtus的xml文件
示例:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- package name:用来实现继承的 namespace:用来解决重名的,访问的时候充当路径-->
<package name="action-customer-lzm" extends="struts-default"
namespace="/customer">
<!--
name:action的名字,访问的使用需要用到 class:具体的action是哪个类,写全路径
method:我们自己定义的方法,而不是执行execute方法
-->
<action name="addCustomerInfo" class="com.sdu.crm.action.CustomerAction"
method="addCustomerInfo">
<!--name:来自method的返回值,可以自定义! -->
<result name="addCustomerInfoOk">/index.jsp</result>
</action>
</package>
</struts>