此表达式无效: -
<f:facet name="header">
Search Results for #{SearchResultsBean.searchPhrase}
</f:facet>
但是,如果我只是从f:facet外面删除该行,它就可以了。为什么会这样?这是预期的行为吗?在此先感谢:)
答案 0 :(得分:2)
我不确定,但这可能与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文字栏
FOO
吧
那是在Tomcat 6.0.20上使用Mojarra 2.0.2。你使用的是哪个版本?你的方法类似吗?