14
<p:graphicImage value="#{resource['images:primefaces-ui/#{car.manufacturer}.jpg']}"/>
我想首先計算inner el,然後使用資源API計算路徑。 我試過<c:set>
標籤,但它的變量也是一個EL,所以它沒有任何區別。在JSF中爲資源API嵌套el表達式
<p:graphicImage value="#{resource['images:primefaces-ui/#{car.manufacturer}.jpg']}"/>
我想首先計算inner el,然後使用資源API計算路徑。 我試過<c:set>
標籤,但它的變量也是一個EL,所以它沒有任何區別。在JSF中爲資源API嵌套el表達式
在當前EL 2.2版本中,您不能以這種方式嵌套EL表達式和字符串連接EL變量。使用<c:set>
在另一個EL表達式用它通過簡單地內聯在一個串中的EL表達式之前準備動態鍵:
<c:set var="resourceName" value="images:primefaces-ui/#{car.manufacturer}.jpg" />
<p:graphicImage value="#{resource[resourceName]}"/>
一個替代方案是簡單地使用library
和name
屬性,而不是生成基於那些經由#{resource}
一個URL製圖:
<p:graphicImage library="images" name="primefaces-ui/#{car.manufacturer}.jpg" />
更新:因爲EL 3.0,你可以使用+=
運營商爲String-C oncatenate EL變量,如果由於某種原因您確實無法使用library/name
。
<p:graphicImage value="#{resource['images:primefaces-ui/' += car.manufacturer += '.jpg']}"/>
雖然這是依賴於ui:param實現細節 - 它不承諾在當前模板上下文中設置變量。我會參考BalusC自己的答案:http://stackoverflow.com/a/20376916/1341535 –