ADF:有条件地加载javascript资源
ADF: Load javascript resources conditionally
我的页面上有以下行:
<af:resource type="javascript" source="JS/google.projected.overlay.js"/>
我需要在特定条件下加载此资源。条件可以通过EL表达式计算。所以我尝试了:
<af:panelGroupLayout visible="false" rendered="#{Condition}" id="pgl1">
<af:resource type="javascript" source="JS/google.projected.overlay.js"/>
</af:panelGroupLayout>
但它不起作用。不管我的条件如何,脚本标记总是在页面的标题部分呈现。
有人知道该怎么处理吗?有可能吗?
你不能使用af:resource标签,因为文档说
当则呈现文档。
所以渲染的条件不会在这里发挥作用。你可以去看看这个ADF JavaScript Partitioning或A.9 Using JavaScriptLibrary Partitioning,或者你可以从bean方法将脚本代码导入页面。如果在bean方法中评估条件,则可以在需要时将bean方法中的脚本添加到页面中。为此,您可以使用类似的ExtendedRenderKitService
// queue JavaScript into the page
FacesContext context = FacesContext.getCurrentInstance();
ExtendedRenderKitService erks =
Service.getService(context.getRenderKit(), ExtendedRenderKitService.class);
String script = "YOUR CODE HERE";
erks.addScript(context, script);
在没有测试过它的情况下,但如果您将rendered="#{Condition}"更改为rendered="${Condition}"以进行急切的EL解析,该怎么办?
假设scrip一旦加载就缓存在浏览器上,那么它是否有条件真的有区别吗?
Frank
相关文章:
- ADF:有条件地加载javascript资源
- 浏览器如何加载 Javascript 资源
- 静态表的 JavaScript 资源
- Node.js和Apache/PHP之间共享的javascript资源
- 在Webworker中使用AJAX加载javascript资源
- VB调用javascript资源代码
- 加载javascript资源后尝试执行操作
- 用于控制台的Javascript资源,如web应用程序
- 是否有一种方法来确定是否加载了所有本地JavaScript资源
- 有条件加载javascript资源
- 将MojoMotor站点移动到新服务器后,所有javascript资源都无法加载
- 如何只在laravel中调用一个javascript资源
- 为什么JSF以文件扩展名. JSF和GET参数ln=js交付JavaScript资源?
- 在javascript资源中使用Rails助手方法
- JSF2.0 URL问题-来自JavaScript资源中的图像
- 带有css和javascript资源的本地Tomcat实例
- 在自定义服务器控件中嵌入javascript资源
- 没有jQuery的javascript资源
- ruby on rails - Javascript资源在Heroku上编译错误
- 有什么理由不将 2 个外部 JavaScript 资源合并为一个