这个表达式不起作用:-
<f:facet name="header">
Search Results for #{SearchResultsBean.searchPhrase}
</f:facet>
但是如果我只是从 f:facet 外部删除该行,它就可以工作。为什么会发生这种情况?这是预期的行为吗?预先感谢:)
最佳答案
我不确定,但这可能与 f:facet
只能包含一个子项这一事实有关。试试这个:
<f:facet name="header">
<h:outputText value="Search Results for #{SearchResultsBean.searchPhrase}" />
</f:facet>
或者也许
<f:facet name="header">
<h:panelGroup>Search Results for #{SearchResultsBean.searchPhrase}</h:panelGroup>
</f:facet>
<小时/>
更新:
我刚刚做了一个本地测试,实际上,您最初的方法在这里有效。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>test</title>
</h:head>
<h:body>
<h:dataTable value="#{bean.list}" var="item">
<h:column>
<f:facet name="header">
foo #{bean.text} bar
</f:facet>
#{item}
</h:column>
</h:dataTable>
</h:body>
</html>
与
package mypackage;
import java.util.Arrays;
import java.util.List;
import javax.faces.bean.ManagedBean;
@ManagedBean
public class Bean {
public List<String> getList() {
return Arrays.asList("foo", "bar");
}
public String getText() {
return "text";
}
}
产量
foo text bar
foo
bar
那是在 Tomcat 6.0.20 上使用 Mojarra 2.0.2。您使用的是哪个版本?您的方法是否相似?
关于java - 表达式在 f :facet? JSF 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2975268/