Struts2

 

 

访问web资源

1》使用servlet API解耦的方式,获取的方法较少

  1.使用ActionContext,一个一个获取,效率不高

  2.实现XxxAware接口(ApplicationAware,SessionAware.....)推荐,

    session对应的Map是SessionMap,强转后调用其invalidate()方法,session失效

 

2》使用servlet API耦合的方法,

  1.使用ServletActionContext方法

  2实现ServletXxxAware接口

    ServletContextAware    ServletRequestAware   ServletResponseAware

namespace:命名空间

Action是线程安全的,因为每一次请求都创建一个实例,不是单例的

<result name="Action中方法return的地址" type=“”>type有dispatch (转发,转发到指定的页面,默认的),redirect(重定向) redirectAction(重定向到一个Action)chain(转到指定的Action)

通配符

struts 2.5以后如果要使用通配符的话必须再package中引入 strict-method-invocation="false"

值栈*

OGNL表达式

获取对象栈(ObjectStack);获取某一对象的属性值,通过<s:property value="对象值"/>,默认从栈顶开始搜索  , <s:property value="[0]对象值"/>[0]表示从索引为0的元素查找,也就是第一个,可以省略

获取Map栈;request,session,application等或者一个请求参数的值

获取map里的属性可以用EL,OGNL表达式(#session.code)用OGNL有很多好处

 

  OGNL可以调用java类的任何静态属性和方法

首先需要在struts配置文件设置可访问设置可以访问

访问形式为

 

还可以调用值栈的属性和方法

 

将元素放到值栈的栈顶,对应的元素在栈里下移动一个位置

 

 

通用标签

 

posted @ 2019-02-26 21:41  苏格拉的底牌  阅读(118)  评论(0编辑  收藏  举报