0

我正在使用 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。

4

2 回答 2

1

好的,所以,经过大量研究,我想通了。事实证明,如果您使用 .jsf 2.0 和richfaces 就无法相处<head>。您必须使用<h:head>它来插入所有必需的依赖项。而且……就是这样!

于 2013-09-04T20:25:29.767 回答
1

对我来说,为 inputText 添加了 ajax 支持,例如

<h:inputText id="first" value="#{bean.firstValue}">
    <rich:placeholder value="Fill me"/>
    <a4j:ajax/>
</h:inputText>
于 2013-10-18T06:03:16.867 回答