$符号在Struts2中的双重角色:国际化与OGNL表达式

需积分: 0 2 下载量 22 浏览量 更新于2024-08-22 收藏 166KB PPT 举报
在Struts2初学教程中,"$"符号在框架中扮演着两个关键角色。首先,它被用于国际化资源文件中,作为OGNL(Object-Graph Notation Language)表达式的引用。OGNL是一种强大的表达式语言,允许开发者在配置文件中动态地引用对象图的属性和方法,增强了配置的灵活性。这使得Struts2能够根据环境变化或用户输入动态地生成界面内容。 另一方面,"$"符号在Struts 2的配置文件(通常是struts.xml)中用于引用OGNL表达式,特别是在处理Action(业务逻辑处理组件)的配置时。Struts2采用了MVC(Model-View-Controller)架构,其中业务模型(Model)相对稳定,而视图(View)和控制器(Controller)更易变。Xwork(即Struts2的核心)是一个基于Command模式的轻量级框架,提供了前端拦截器、实时表单验证、类型转换和IoC(Inversion of Control)容器等功能,这些都增强了框架的灵活性和可扩展性。 WebWork2是Xwork的后续版本,它在处理HTTP请求方面更为高效,通过ServletDispatcher将请求映射到Action类执行相应业务逻辑。Struts2在运行时会根据struts.xml中的Action映射,动态创建并调用Action的方法,类似于Struts1.x中的LookupDispatchAction。Action方法通常返回预定义的状态,如SUCCESS、ERROR、INPUT等,这些状态在ActionSupport或其基类中预先声明。 配置Action时,如果不指定result名称,默认会使用"success"。然而,Struts2的result功能远超Struts1.x的forward,不仅支持转发,还能实现其他高级特性,比如利用Interceptor实现行为的复用和控制流程的改变,以及将Action输出到不同的视图或其他组件,以实现更精细的控制和灵活的业务处理。 "$"符号在Struts2中的双重作用体现了框架对动态配置和解耦的重视,帮助开发者构建模块化、可维护的Web应用。学习这些概念对于理解Struts2的工作原理和高效开发策略至关重要。