我正在使用 jsf 2.0,我正在尝试使用 Richfaces 4.3 的占位符。这是jsf代码
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:c="http://java.sun.com/jstl/core"
xmlns:rich="http://richfaces.org/rich">
....
....
<h:form>
<table>
<thead>
<tr>
<th>
<h:outputText value="Header"/>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<h:inputText id="first" value="#{bean.firstValue}">
<rich:placeholder value="Fill me"/>
</h:inputText>
</td>
</tr>
</tbody>
</table>
</h:form>
这是它的渲染方式:
<form id="j_id_1v" name="j_id_1v" method="post" action"/mypage/app/main.xhtml" enctype="application/x-www-form-urlencoded">
<table>
<thead>
<tr>
<th>
"Header"
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<span id="j_id_1v:j_id_2r">
<script id="j_id_1v:j_id_2rScript" type="text/javascript">
<!--
new RichFaces.ui.Placeholder("j_id_1v:j_id_2r", {"targetId":"j_id_1v:first","text":"Fill me"} );
//-->
</script>
</span>
<input id="j_id_1v:first" name="j_id_1v:first" type="text" value>
</td>
</tr>
</tbody>
</table>
</form>
#{bean.firstValue}" 为空,不是空字符串。不确定这是否重要。问题是占位符文本没有显示。
有任何想法吗?
--EDIT-- 检查 js 控制台,它说“Richfaces not defined”。我确定我使用的是richfaces 4.3。