模板文本中不允许使用#{...}。我能绕过这个错误做些什么变通办法?

时间:2014-05-19 22:52:29

标签: jsf-1.2

根据我选择的标题,有很多问题。但是没有一个能解决我的问题。

我正在使用JSF 1.2(我必须。没有其他选择)。我有一个iframe。现在我无法在iframe中使用EL Expressions,因为我收到了错误:

<iframe src="#{page.pageClicked}"></iframe>

给出错误

#{...} is not allowed in template text

我理解原因。 IFrame不是JSF 1.2标准的一部分。这就是为什么JSF不解析iframe并给出错误的原因。这不仅仅适用于iframe。任何不受支持的标记都会引发此错误。

现在我的问题是,要评估src属性上的表达式,我可以做些什么变通方法?

这是一种可行的解决方法,但不能应用于我的情况: how can I create variable in JSF to use thro' JSP tag

2 个答案:

答案 0 :(得分:0)

您可以使用javascript

创建它
<script>
//<![CDATA[
    function makeFrame() { 
       ifrm = document.createElement("IFRAME"); 
       ifrm.setAttribute("src", "#{page.pageClicked}"); 
       ifrm.style.width = 640+"px"; 
       ifrm.style.height = 480+"px"; 
       document.body.appendChild(ifrm); 
    } 
//]]>
</script> 

答案 1 :(得分:0)

我已经尝试了很多并发现outputText只是打印了值,所以试试这个....

< img src="< h:outputText value="upload/veiculos/#{item.nome}"/ >" / >