框架篇之struts学习day02

struts2:

struts.xml中标签的用法:

package:在struts2的配置文件中引入了面向对象思想,使用了分包管理。易于管理动作类。便于模块化开发动作类。

  1. name:包名。必须写,且唯一
  2. extends:继承
  3. abstract:把包声明为抽象包,用于别的包继承,一般不含action标签
  4. namespace:名称空间。访问路径就是名称空间➕动作名。需要加/

action:配置动作 

  1. name:动作名称
  2. class:动作类的全名
  3. method:动作中的方法名称,用于处理请求。默认是public String 方法名(){}

方法的要求:

  1. 必须是public的
  2. 返回值必须是String
  3. 必须是无参的

action的三种实现方法:

  1.  自己写一个类,在struts.xml中配置,然后需要配置method方法。
  2. 实现action接口,重写excute()方法,接口中有一些常数
  3. 继承actionSuport,父类中就会有execute方法。推荐这种写法

在struts中,使用*作为通配符,然后用{1}{2}分别代表哪个*号。

result标签:为动作指定返回的视图,

属性:name,逻辑视图的名称,对应着动作方法的返回值,默认是success。

type,结果的类型,指的就是用什么样的方法转到定义的页面,默认是dispatcher转发。、

result中的type有四种类型,分别是dispatcher,redirect,chain,redirectAction。

dispatcher 

(默认值)使用请求转发,转向一个页面。

redirect

使用重定向,转向一个页面。

chain

转发到另一个相同名称空间的动作

转发到不同名称空间的动作

redirectAction

重定向到另一个相同名称空间的动作

重定向到不同名称空间的动作 

 

param:用于action中的参数注入result,

全局视图:如果有时候我们写的一个功能需要被每一个Package标签都引用 ,那我们可以写一个抽象的包,在写一个自定义的结果类型,在抽象包中global-results标签中引用这个自定义的结果,然后用于其他包继承 

 

动作类中servlet api的使用:

  1. 获取servlet 的api方式
    • 第一种:通过ServletActionContext获取 【推荐使用】
    • 第二种:通过注入方式:先让Action实现两个接口ServletRequestAware,ServletResponseAware
  2. 第二种注入方式原理是因为struts有个拦截器<interceptor name="servletConfig" class="org.apache.struts2.interceptor.ServletConfigInterceptor"/>来实现的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值