ADF皮肤样式加载错误的类

时间:2016-03-24 17:22:34

标签: java weblogic oracle-adf trinidad

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

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

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

我认为这可能是一个 Apache Trinidad 配置问题(我可能继承了另一个皮肤作为基础?),但所有配置文件我已经找到了项目本身的谎言(即 trinidad-skins.xml trinidad-config.xml web.xml )并且因为同一个项目适用于其他环境,我认为这不是问题。

我的疑问是:我应该检查哪些工作环境与新工作环境相比较? 可能是系统配置或库的原因是什么?


带图片的HTML / CSS示例


工作环境(正确显示)

enter image description here






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

正如您在图片中注意到的那样,加载的类是不同的。由于收到的工作表 estilos_mw.css 与两个应用程序完全相同,因此其规则不适用于新环境(在这种情况下,规则定位为 .x14m 元件)。

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

提前致谢。

1 个答案:

答案 0 :(得分:1)

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

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