如何使用資源變量創建動態路徑?JSF動態資源路徑
<ui:repeat value="#{backgroundImageBean.images}" var="image">
<p:graphicImage value="#{resource['/path/#{image}']}"
style="width: 100%; height: 100%" />
</ui:repeat>
感謝
如何使用資源變量創建動態路徑?JSF動態資源路徑
<ui:repeat value="#{backgroundImageBean.images}" var="image">
<p:graphicImage value="#{resource['/path/#{image}']}"
style="width: 100%; height: 100%" />
</ui:repeat>
感謝
只需使用name
屬性,而不是value
屬性。 value
屬性佔用一個URL,而name
屬性僅佔用唯一的資源名稱。然後它的解決方案與#{resource[name]}
一樣。
<p:graphicImage name="path/#{image}" />
您的問題可以通過以下兩種方式之一來解決:
'/path/'
一部分到你的模型,以便#{image}
將返回完整路徑資源;使用<ui:param>
爲將要產生的圖像路徑創建一個別名和訪問資源時使用它:
<ui:repeat value="#{backgroundImageBean.images}" var="image">
<ui:param name="path" value="/path/#{image}" />
<p:graphicImage value="#{resource[path]}" />
</ui:repeat>
如果你堅持這樣做的邏輯,而無需使用參數環境支持EL 2.2+那麼你可以使用String#concat()
在資源表達式:
#{resource['/path/'.concat(not empty image ? image : '')}'