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 @   苏格拉的底牌  阅读(122)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示