ice:outputMedia没有在Firefox和IExplorer中重新渲染

时间:2012-04-24 23:51:41

标签: java jsf-2 icefaces-3

我需要从URL重现MP3。 所以,在我的页面中使用:

<ice:outputMedia binding="#{boardBean.opMedia}" id="opMedia"/>
<ice:commandButton image="#{icon.imagen}" action="#{boardBean.selectIcon(icon)}">
    <f:ajax render="opMedia"/>
</ice:commandButton>

然后,在支持bean“BoardBean”(是@Viewscoped)

this.opMedia.setSource(uri.toString());

这个想法是当选择一个图标时,会形成带声音的网址,并将其设置为outputMedia的源。

在Google Chrome中效果很好。每次点击都会重新呈现ice:outputMedia组件,以便重现mp3。但在Firefox和IExplorer中没有。我没有使用新属性重新渲染组件,因此不播放Mp3

任何想法为什么?是否有一种“更标准”的方法可以在所有浏览器中使用?

1 个答案:

答案 0 :(得分:0)

我发现了问题。 uri.toString()方法返回一个特殊字符为'&amp;'的字符串。此字符由&amp;替换。 Chrome可以将此解码为正确的字符并检索URL,但IE和Firefox不能。

现在,问题是要找到解决这个编码/解码问题的方法。但这将是另一个主题。