Struts2框架第一讲

概述:Struts2是在WebWork2基础发展而来的。和struts1一样, Struts2也属于MVC框架。不过有一点大家需要注意的是:尽管Struts2struts1在名字上的差别不是很大,但Struts2struts1在代码编写风格上几乎是不一样的。

一、搭建Struts2环境时,我们一般需要做以下几个步骤的工作:

a) 找到开发Struts2应用需要使用到的jar文件

struts2-core-2.x.x.jar :Struts 2框架的核心类库

xwork-2.x.x.jar :XWork类库,Struts 2在其上构建

ognl-2.6.x.jar :对象图导航语言(Object Graph Navigation Language),struts2框架通过其读写对象的属性

freemarker-2.3.x.jar :Struts 2UI标签的模板使用FreeMarker编写

commons-logging-1.1.x.jar :ASF出品的日志包,Struts 2框架使用这个日志包来支持Log4JJDK 1.4+的日志记录。

commons-fileupload-1.2.1.jar 文件上传组件,2.1.6版本后必须加入此文件

javassist-3.11.0.GA.jarcommons-lang-2.5.jarcommons-io-2.0.1.jar

b) 编写Struts2的配置文件

<!DOCTYPE struts PUBLIC

    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"

    "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

</struts>

c) 在web.xml中加入Struts2 MVC框架启动配置

<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>

二、struts文件中的配置

a) Package包的简介及属性简介

name:配置包时必须指定name属性,该name属性值可以任意取名,但必须唯一,

他不对应java的类包,如果其他包要继承该包,必须通过该属性进行引用。

namespace 属性用于定义该包的命名空间,命名空间作为访问该包下的Action的路径的一部分

例如:/test/helloworld.action。 namespace属性可以不配置

extends 必须的  继承 struts-default定义了这些拦截器和Result类型。

包还可以通过abstract=“true”定义为抽象包,抽象包中不能包含action。

 -->

<package name="test" extends="struts-default" namespace="/cs"></package>

b) Action便签及属性

<action></action>

name属性表示构成访问action的路径, 这个例子访问路径应该是  cs/hello 

也可以在后面加上.action访问

class 指定action的java类,带包名  如果不指定,默认会指向ActionSupport

method :指定方法名  如果不指定默认的是execute

c) Result标签及属性

name:需要在指定的方法中返回的字符串   默认的是SUCCESS

type :执行跳转页面的类型  默认是dispatcher  指定的是jsp 其他可在struts-default.xml中找到标签体内action执行后跳转的页面

Chain 指定的是执行完自己的方法后跳转到指定的action中,标签内应该指定对应的actionname属性,不可以带参数、

D)设置全局的result

<global-results>

<result name="msg">./index.jsp</result>

</global-results>

如果指定上在下面的action标签中则不用指定result标签。如果返回的结果是msg就可以使用全部的results属性了

四、action类中的写法

A)action类中。需要继承ActionSupport这个类,在action标签内指定的method方法与类中的自定义方法名应相同,返回类型必须是string,如果返回是SUCCESS,则可以在result中的name可以缺省,也可以返回自定义的字符串。

B)依赖注入,在action中设置相应的属性,这个属性如果设置对应的set方法,就表示使用set方法注入进来,但是属性名需要跟对应的jspinput中的name属性一致。

C)将对应的值传入jsp页面,需要设置对应的属性的get方法,需要给它赋值,就可以在对应的jsp页面中得到这个数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值