gpt4 book ai didi

jsf - 如何在 JSF 中以编程方式获取资源映射?

转载 作者:行者123 更新时间:2023-12-03 21:55:37 26 4
gpt4 key购买 nike

我想访问资源映射,而不是从我的 CCS 文件中访问

background-image: url("#{resource['primefaces-supertheme:images/ui-icons_ffffff_0.png']}");

但来自我的 bean 。是否可以仅使用 EL 评估?

最佳答案

真正的 Java 变体是 Application#createResrouce() 然后 Resource#getRequestPath() :

FacesContext context = FacesContext.getCurrentInstance();
Resource resource = context.getApplication().getResourceHandler().createResource("images/ui-icons_ffffff_0.png", "primefaces-supertheme");
String url = resource.getRequestPath();
// ...

请注意,您可以仅以编程方式评估 EL。您可以使用 Application#evaluateExpressionGet() 为了这。
FacesContext context = FacesContext.getCurrentInstance();
String url = context.getApplication().evaluateExpressionGet(context, "#{resource['primefaces-supertheme:images/ui-icons_ffffff_0.png']}", String.class);
// ...

如果您碰巧使用 JSF 实用程序库 OmniFaces,这可以通过 Faces 简化。实用程序类为:
String url = Faces.evaluateExpressionGet("#{resource['primefaces-supertheme:images/ui-icons_ffffff_0.png']}");
// ...

关于jsf - 如何在 JSF 中以编程方式获取资源映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18984843/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com