工作上一直没有机会用struts2,于是在业余时间看了下struts2的相关内容,这篇文章主要整理了一个web项目使用struts 2.1的基本步骤。对于希望在短时间内掌握struts2基本用法的朋友或有帮助。
首先第一步,用MyEclipse建立一个Web项目
当你下载了struts2的文件以后,可以找到apps文件夹下的blank项目,并引入以下内容到自己的项目中:
[color=green]引入基本的jar包,这些包可以在struts目录下的空项目中找到[/color]
[img]http://dl.iteye.com/upload/attachment/287360/de604120-d825-3495-bc5f-7bdabac308c6.jpg[/img]
[color=green]引入struts.xml配置文件,从那个示例空项目中复制黏贴,放在src目录下[/color]
[color=green]修改web.xml文件,引入struts2.1的核心过滤器[/color]
至此,需要引入项目的东西已经完成。下面开始编写一个最简单的跳转
新建Action,需要说明的是你可以有三种新建Action的方法,这里用的是最常用的继承ActionSupport的方法
这个Action里定义了testMethod这个方法,这个名字可以随意取,只要确保返回值是String就可以。返回的字符串,对应于在struts.xml配置文件里面配置的result的name值。
上面已经提到了配置文件,下面就看一下简单的struts.xml的配置:
在这里做一些简单说明,package的名字可以随便取,extends默认是继承struts-default,简单使用的时候不需要改。
namespace决定了什么访问路径会被拦截,举个例子如果项目名字叫Project,namespace是"/",action的name是testLottery,那么http://localhost:8080/Project/testLottery就会调用LotteryAction
如果其他条件不变,namespace换成“/lottery”则要通过url http://localhost:8080/Project/lottery/testLottery才能访问到LotteryAction
至于下面的action配置就很清晰了,需要提一下的是,这里是通过配置method属性来指明调用哪个方法的,还有另一种方法是在url里使用
“配置的action的name值+感叹号+方法名”的形式调用某个action的方法
例如:
http://localhost:8080/Project/testLottery!testMethod
此时,struts.xml里面的action标签可以不配method属性
经过以上这些步骤就能通过Struts2.1实现MVC框架最基本的功能“控制页面的跳转”。
如有时间我会整理更多有关Struts2的内容。
首先第一步,用MyEclipse建立一个Web项目
当你下载了struts2的文件以后,可以找到apps文件夹下的blank项目,并引入以下内容到自己的项目中:
[color=green]引入基本的jar包,这些包可以在struts目录下的空项目中找到[/color]
[img]http://dl.iteye.com/upload/attachment/287360/de604120-d825-3495-bc5f-7bdabac308c6.jpg[/img]
[color=green]引入struts.xml配置文件,从那个示例空项目中复制黏贴,放在src目录下[/color]
[color=green]修改web.xml文件,引入struts2.1的核心过滤器[/color]
<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>
至此,需要引入项目的东西已经完成。下面开始编写一个最简单的跳转
新建Action,需要说明的是你可以有三种新建Action的方法,这里用的是最常用的继承ActionSupport的方法
public class LotteryAction extends ActionSupport {
public String testMethod() {
System.out.println("进来了");
return "testRS";
}
}
这个Action里定义了testMethod这个方法,这个名字可以随意取,只要确保返回值是String就可以。返回的字符串,对应于在struts.xml配置文件里面配置的result的name值。
上面已经提到了配置文件,下面就看一下简单的struts.xml的配置:
<package name="lottery" namespace="/" extends="struts-default" >
<action name="testLottery" class="com.action.LotteryAction" method="testMethod">
<result name="testRS">/index.jsp</result>
</action>
</package>
在这里做一些简单说明,package的名字可以随便取,extends默认是继承struts-default,简单使用的时候不需要改。
namespace决定了什么访问路径会被拦截,举个例子如果项目名字叫Project,namespace是"/",action的name是testLottery,那么http://localhost:8080/Project/testLottery就会调用LotteryAction
如果其他条件不变,namespace换成“/lottery”则要通过url http://localhost:8080/Project/lottery/testLottery才能访问到LotteryAction
至于下面的action配置就很清晰了,需要提一下的是,这里是通过配置method属性来指明调用哪个方法的,还有另一种方法是在url里使用
“配置的action的name值+感叹号+方法名”的形式调用某个action的方法
例如:
http://localhost:8080/Project/testLottery!testMethod
此时,struts.xml里面的action标签可以不配method属性
经过以上这些步骤就能通过Struts2.1实现MVC框架最基本的功能“控制页面的跳转”。
如有时间我会整理更多有关Struts2的内容。