2015-03-13 46 views
2

How to embed SVG graphics properly in JSF application using OmniFaces的後續處理當我使用OmniFaces graphicImage標籤時,如何將樣式選擇器提供給SVG(byte [])?

我使用OmniFaces 2.1快照爲了從byte []數組輸出SVG文件。我需要在SVG URL後綴#a以激活SVG內的CSS樣式。

例IMG:

<img src="/web/javax.faces.resource/ApplicationBean_getImageById_svg.xhtml?ln=omnifaces.graphic&amp;v=0&amp;p=106.1%23a"> 

正如你看到的,我#A在URL作爲%23A右側追加。

如果這一直是一個普通的URL這將是

<img src="106.1.svg#a" /> 

它將然後選擇CSS樣式,在我的情況下,塗料這個標誌的黃色背景。

我真的很希望BalusC在這裏來拯救我。嘿。 :)

回答

1

根據this commit<o:graphicImage>得到了新的fragment屬性。這應該使您能夠通過SVG view modes via URL fragment identifier。它在今天的2.1 SNAPSHOT中可用。

E.g.

<o:graphicImage value="#{bean.svg(imageId)}" 
    type="svg" fragment="svgView(viewBox(0,200,1000,1000))" /> 
+0

我不確定片段是否會幫助我。這裏有一個例子SVG: ' ' 當 '' '#A' '' 被附加到SVG網址,這會導致瀏覽器觸發有條件的風格。我看不到片段屬性如何提供幫助。 – matsa 2015-03-18 09:01:49

+0

它將片段附加到生成的URL(就像''的工作方式一樣)。只需使用''試用當前快照。 – BalusC 2015-03-18 09:07:19

+0

它完美的作品!非常感謝,BalusC。關於什麼時候2.1要完成的想法? – matsa 2015-03-19 07:53:22

相關問題