java - ADF 皮肤样式加载错误的类

标签 java weblogic oracle-adf trinidad

我已经将 ADF 应用程序部署到 EAR 文件中。目前,同一个应用程序通过 WebLogic 11g 服务器在三个不同的环境中运行。

但是,在第四个(开发)环境(WebLogic 11g 的全新安装)中,我的应用程序某些元素的显示不同

我检查了客户端收到的 HTML,问题在于第四个环境中的类名称(据称由 ADF 自动生成)不同(尽管事实上服务器中运行的是完全相同的 EAR) 。因此,某些 css 规则不会应用,因为它们引用了其他 css 类。

我认为这可能是一个Apache Trinidad配置问题(也许我继承了不同的皮肤作为基础皮肤?),但是我的所有配置文件发现位于项目本身内部(即 trinidad-skins.xmltrinidad-config.xmlweb.xml),并且自同一个项目可以在其他环境中运行,我认为这不是问题。

我的疑问是:我应该检查什么来将工作环境与新环境进行比较? 什么系统配置或库可能是造成这种情况的原因?


带图片的 HTML/CSS 示例


工作环境(正确显示)

enter image description here






新环境(显示错误) enter image description here

正如您在图片中可能注意到的,加载的类是不同的。由于两个应用程序收到的工作表 estilos_mw.css 完全相同,因此其规则不适用于新环境(在本例中,规则定位于 .x14m元素)。

另一个区别是生成的 fusionFx CSS,但我不确定问题是否存在以及如何检查。

提前致谢。

最佳答案

好吧,你做错了。这是自动生成的类,绝对不能保证它会保持不变。

  1. 了解 skinning in ADF 并使用外观而不是纯 css 文件。实际上它看起来几乎像带有一些魔力的CSS,但是这个文件将由换肤引擎(有点像SASS)处理。这样,CSS 将从皮肤文件生成,并且您的自定义规则将指向正确的类。还有 jdeveloper 的特殊版本 - Skin Editor (该版本也适用于 11g),可以帮助您进行皮肤开发。
  2. 您可以通过禁用内容压缩来禁用 css 类缩小。
    为此,您需要添加(或更改)以下上下文初始化参数 org.apache.myfaces.trinidad.DISABLE_CONTENT_COMPRESSIONtrue
    web.xml中。这样您将获得在运行时不会更改的实际 css 类名称。
    虽然这在开发阶段可能非常有用,但不建议在生产环境中使用,因为可能会导致性能问题。<

关于java - ADF 皮肤样式加载错误的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36206286/

相关文章:

java - 构造函数注入(inject)不适用于 @Statless bean 中的限定符

java - Integer.parseInt 混淆

java - 表中的 ADF 复选框,所选行缺少计时

java - ADF 应用程序部署两次以运行

Oracle_ADF 12.2.1 中的 JavaScript 图像 slider

java - 如何使 appium 测试在 iOS 上运行得更快?

java - 关于 JCS 的信息

eclipse - 在 WebLogic 中调试 JSP 页面

java - WebLogic + Spring 的 JNDI 查找配置错误

java - 跨集群共享 java 对象