Struts2.0标签$ # %详解:理解它们的区别
5星 · 超过95%的资源 需积分: 3 191 浏览量
更新于2024-09-22
收藏 78KB DOC 举报
"本文详细介绍了Struts2.0框架中三个重要的符号`$`、`#`和`%`的区别,并探讨了Struts2的标签体系,包括通用标签、控制标签、UI标签和AJAX标签的使用。此外,还特别讲解了`<s:property>`和`<s:set>`两个常用标签的属性和用法。"
在Struts2.0中,`$`、`#`和`%`是三个特殊的符号,它们分别在不同的上下文中起到不同的作用:
1. **`$`** 主要用于国际化(i18n)和Struts2配置文件。它用于引用资源包中的消息,比如在国际化文件中,你可以通过`${key}`来获取对应的语言字符串。同时,在配置文件中,`$`也是用来引用配置项的。
2. **`#`** 用于取得ActionContext中的值。ActionContext是Struts2中存储请求和响应数据的核心容器,你可以通过`#{key}`来访问其中的值。例如,`#{session.user}`可以获取到Session中的用户对象。
3. **`%`** 用于将原本的文本属性解析为OGNL(Object-Graph Navigation Language)表达式。如果属性已经是OGNL表达式,使用`%`就不起作用。例如,`<s:property value='%{user.name}'/>`会解析并执行OGNL表达式,获取user对象的name属性。
除了这些符号的使用,Struts2的标签系统也非常强大:
- **通用标签** 包括`<s:property>`、`<s:set>`等。`<s:property>`用于显示或输出值,它可以处理OGNL表达式,提供默认值和HTML转义功能。`<s:set>`则用于设置变量,可以通过`var`指定变量名,`value`设定变量值,`scope`定义作用范围。
- **控制标签** 如`<s:if>`, `<s:else>`, `<s:elseif>`, `<s:iterator>`等,提供了条件判断和循环控制。`<s:iterator>`可以遍历各种集合类型的数据。
- **UI标签** 提供了主题支持,如`<s:theme>`,以及各种与用户界面相关的标签,如`<s:textfield>`,`<s:textarea>`等,它们帮助构建表单元素并和Struts2的验证机制集成。
- **AJAX标签** 用于实现异步更新,如`<s:a>`和`<s:submit>`的ajax版本,能够创建动态交互的页面效果。
理解并熟练运用这些标签和符号,能极大地提高开发效率,使Struts2的应用更加灵活和高效。在实际开发中,应根据具体需求选择合适的标签和符号,以实现最佳的代码结构和用户体验。
2009-07-28 上传
2008-04-28 上传
2010-07-26 上传
2008-11-24 上传
2010-05-02 上传
2009-07-15 上传
2008-05-15 上传
2008-04-16 上传
厦门-科比
- 粉丝: 3
- 资源: 12
最新资源
- BottleJS快速入门:演示JavaScript依赖注入优势
- vConsole插件使用教程:输出与复制日志文件
- Node.js v12.7.0版本发布 - 适合高性能Web服务器与网络应用
- Android中实现图片的双指和双击缩放功能
- Anum Pinki英语至乌尔都语开源词典:23000词汇会话
- 三菱电机SLIMDIP智能功率模块在变频洗衣机的应用分析
- 用JavaScript实现的剪刀石头布游戏指南
- Node.js v12.22.1版发布 - 跨平台JavaScript环境新选择
- Infix修复发布:探索新的中缀处理方式
- 罕见疾病酶替代疗法药物非临床研究指导原则报告
- Node.js v10.20.0 版本发布,性能卓越的服务器端JavaScript
- hap-java-client:Java实现的HAP客户端库解析
- Shreyas Satish的GitHub博客自动化静态站点技术解析
- vtomole个人博客网站建设与维护经验分享
- MEAN.JS全栈解决方案:打造MongoDB、Express、AngularJS和Node.js应用
- 东南大学网络空间安全学院复试代码解析