Struts2 namespace详解与OGNL表达式在界面数据绑定中的应用
![](https://csdnimg.cn/release/wenkucmsfe/public/img/starY.0159711c.png)
本资源是《传智播客_黎活明Struts2简洁教程》的PPT,由高级软件人才实作培训专家黎活明讲解,主要聚焦于Apache Struts2框架的深入理解。Struts2是一个基于Model-View-Controller (MVC)架构的Java Web应用框架,用于简化Java web开发过程。
1. **Namespace属性**:Struts2中的`namespace`属性默认值为`""`,意味着它可以处理所有路径的action请求。但与`namespace="/"`不同,后者代表顶层命名空间。当Tomcat解析URL时,会优先查找与精确namespace匹配的action,如果找不到,则在无namespace的情况下继续搜索,若仍失败则会导致错误。
2. **URL构建**:在Struts2中,完整的URL结构可能包含服务器IP地址、端口、web应用名称、namespace以及action名称,例如`"http://"+ipaddress+":"+ipport+"/"+webappname+namespace+"/"+"actionname"`,这种结构有助于正确定位到对应的action方法。
3. **Action定义**:展示了如何在Struts2中定义一个action,如`<actionname="addUI"class="com.opensymphony.xwork2.ActionSupport"method="execute">`,这里的`ActionSupport`是基础的action类,`execute`方法是action的执行入口,`resultname="success"`指定了成功操作后跳转的页面。
4. **OGNL语言介绍**:Object-Graph Navigation Language (OGNL)是Struts2中用于数据绑定的强大工具。它允许开发者通过简单的表达式访问和操作Java对象的属性,执行方法调用,甚至遍历对象结构。OGNL在界面数据绑定中起着关键作用,能实现视图和模型的自动同步。
5. **OGNL符号的使用**:在Struts2中,OGNL标志(`#`, `%`, `$`)有特定的用途:
- `#`:主要用作访问上下文,等同于`ActionContext.getContext()`,用于过滤和投影集合,以及创建Map。
- `%`:在标志的属性为字符串时,用于计算OGNL表达式的值。
- `$`:有两个主要用途,具体功能未在提供的部分详细说明,可能是用于动态变量或更复杂的OGNL表达式。
这个教程深入浅出地介绍了Struts2的核心概念和技术细节,包括namespace的配置、URL路由、Action的定义,以及OGNL在数据绑定中的实际应用,对于想要掌握Struts2的开发者来说,是一份非常实用的学习资料。
180 浏览量
130 浏览量
2010-04-14 上传
108 浏览量
2015-09-12 上传
2014-03-05 上传
2021-09-24 上传
点击了解资源详情
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
wangzhuangyu
- 粉丝: 1
最新资源
- 全程软件测试:国际化与本地化测试的关键
- SSH集成开发:MySQL数据库与Struts, Hibernate, Spring实战
- 构建网络教学平台:基于Internet的教育革新
- SAAJ与JAXM:Java SOAP客户端与服务详解
- C程序经典案例:百例中的数字组合与利润奖金计算
- 30分钟学会正则表达式:入门与实战指南
- C#版新版设计模式手册:全面解析23种设计模式
- WinForms Timer控件与TreeView、ListView详解
- Spring MVC教程:一步步构建Web应用
- Spring框架2.5参考文档:核心特性与AOP增强
- MTK手机平台MMI详解与软件架构
- Struts2权威指南:从Struts1到WebWork的演进
- 客户管理系统设计与实现:基于Visual C++和SQL Server
- ARM92410原理图详解:关键接口与功能介绍
- C++编程高质量指南:结构、命名与内存管理
- JSP+AJAX实现动态多选框添加与删除操作详解