WebWork2.2.2中一个控件的theme的查找顺序
webwork 2.2.2中提供了几个theme,包括simple,xhtml以及新的ajax,css_xhtml等等.
每个控件都可以指定theme,那么theme是什么查找顺序哪?都由什么因素控制哪?
让我们来看UIBean中的一段代码:
public String getTheme() {
String theme = null;
if (this.theme != null) {
theme = findString(this.theme);
}
if ( theme == null || theme.equals("") ) {
Form form = (Form) findAncestor(Form.class);
if (form != null) {
theme = form.getTheme();
}
}
// If theme set is not explicitly given,
// try to find attribute which states the theme set to use
if ((theme == null) || (theme.equals(""))) {
theme = (String) stack.findValue("#attr.theme");
}
// Default theme set
if ((theme == null) || (theme.equals(""))) {
theme = Configuration.getString(WebWorkConstants.WEBWORK_UI_THEME);
}
return theme;
}
可以看到,顺序是这样的:
首先查找控件本身的theme,也就是说控件本身可以设定theme
如果没有找到,则查找此控件所在的form的theme,如果找到了,就使用form的theme设定
如果还没有找到,则在value stack里查找属性theme. 也就是说你可以编程控制theme设定
如果最后还没有找到,则到配置文件里寻找,默认的是xhtml,用户可以在webwork.properties里面修改配置
这样你就可以在各个环节进行设置,达到自己的目的.
其中attr的说明参考 http://wiki.opensymphony.com/display/WW/Accessing+application%2C+session%2C+request+objects 以及 http://wiki.opensymphony.com/display/WW/What+are+the+default+variables+in+the+value+stack
attr: 会依次扫描 request, session 和 application attributes 设置
分享到:
相关推荐
这个压缩包包含的文件是WebWork 2.2.2和XWork 1.1.3版本的JAR包以及相关的源代码,这对于开发者来说是一份宝贵的参考资料。 WebWork是一个轻量级的MVC框架,它通过使用动作(Action)和结果(Result)的概念来处理...
是有关xwork培训的,BizFocus5.0是东方易维公司开发的一款优秀的中间件技术平台。
WebWork 2.2 是 WebWork 框架的一个版本,它提供了一种灵活的方式来组织和控制 Web 应用程序的逻辑。该框架的核心是 Action,每个 Action 类对应于一个用户请求,并负责处理业务逻辑。Action 结果被映射到视图层,...
webwork的包。webwork开发者不可缺少的
文档“webwork-reference-2.2.2.pdf”涵盖了WebWork框架的多个方面,下面是一些具体的知识点: - **页面可用性**:介绍了框架中页面的加载和可用性,确保用户能够访问正确的页面和资源。 - **Action配置**:详细...
WebWork2.2.2的安装过程相对简单,主要包括下载WebWork2.2.2,搭建Web应用,将所需jar文件放入WEB-INF\lib目录,并在Web.xml中配置FilterDispatcher过滤器。 WebWork入门阶段,开发者需要了解如何配置Web应用以使用...
WebWork 2.2.2是较早的一个版本,尽管现在已经被Struts2所取代,但在当时它是一个非常流行的选择,因为它有优秀的异常处理机制和强大的国际化支持。 **Spring** 是一个全面的企业级应用开发框架,不仅提供了IOC...
其最新版本WebWork 2.2.2,在功能上更加强大,且已发展成为Xwork和WebWork两个独立项目。Xwork主要负责提供核心功能,如前端拦截器、表单属性验证、类型转换、表达式语言(OGNL)、IoC容器等,而WebWork则专注于处理...
WebWork 是一个基于Java的开源MVC(Model-View-Controller)框架,它主要用于构建企业级的Web应用程序。WebWork1.4是该框架的一个较早版本,它为开发者提供了强大的功能,包括动作映射、数据绑定、异常处理、国际化...
WebWork 是一个基于Java的MVC(模型-视图-控制器)框架,它在Web应用程序开发中被广泛使用。WebWork 1 和 WebWork 2 都是该框架的不同版本,每个版本都有其特性和改进。 WebWork 1 是早期的版本,提供了基础的MVC...
3. **值栈(Value Stack)**:值栈是WebWork中一个关键概念,它存储了模型对象,使得视图层可以直接访问这些数据,减少了模型和视图之间的耦合。 4. **Ognl表达式语言(OGNL)**:WebWork使用OGNL作为默认的数据...
WebWork 是一个基于 Java 的开源 MVC(Model-View-Controller)框架,它在早期的 Web 应用开发中非常流行,尤其是在 Struts 1 之前。WebWork 提供了强大的动作(Action)处理、类型转换、拦截器(Interceptor)机制...
WebWork是一个基于Java的轻量级MVC(Model-View-Controller)框架,它为构建高性能、可维护的Web应用程序提供了强大的支持。WebWork docs 2 是一套完整的WebWork框架的详细说明文档,包含了开发者在使用WebWork时...
WebWork是Java Web开发中的一个框架,它在早期与Struts有着密切的关系,后来成为了Struts2的基础。这个"WebWork入门教程[创建你第一个WebWork action]"将引导你了解如何利用WebWork来构建动态的Web应用程序。让我们...
WebWork是一个基于Java的开源MVC(模型-视图-控制器)框架,它在Web应用程序开发中扮演着重要角色。这个“webWork中文教程”旨在帮助开发者深入理解WebWork框架的原理、特性和实践方法。下面,我们将详细介绍WebWork...
WebWork 是一个开源的、基于Java的Web应用程序框架,它专为构建动态、交互式的Web应用而设计。这个框架的核心理念是模型-视图-控制器(MVC)架构模式,帮助开发者将业务逻辑、用户界面和数据管理分离开来,从而提高...
WebWork是一个基于Java的MVC(Model-View-Controller)框架,它在早期的Web开发中扮演了重要的角色,尤其是在Struts之前或作为其替代品出现。WebWork提供了许多先进的特性,如动作拦截器、类型转换、强大的异常处理...