如何在jsf <h:inputtext>

时间:2016-09-15 12:53:35

标签: jsf

我需要使用jsf内置组件在jsf中实现相同的功能。问题我无法找到绑定<datalist>的list属性。请帮帮我怎么做。

<input id="something" list="somethingelse"/>
        <datalist id="somethingelse">
            <option value="Something"></option>
            <option value="Something Else"></option>
            <option value="Another One"></option>
            <option value="Alpha"></option>
            <option value="Bravo"></option>
            <option value="Charlie"></option>
            <option value="Delta"></option>
            <option value="Echo"></option>
            <option value="Foxtrot"></option>
            <option value="Gamma"></option>
        </datalist>

1 个答案:

答案 0 :(得分:2)

您可以使用jsf passtrough attributes

<input id="something" list="somethingelse"/>

变为

<h:inputText pt:list="somethingelse" />

以下完整示例有效:

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:pt="http://xmlns.jcp.org/jsf/passthrough">

<h:head />

<h:body>
    <h:form>
        <h:inputText pt:list="somethingelse" />
        <datalist id="somethingelse">
            <option value="Something"></option>
            <option value="Something Else"></option>
            <option value="Another One"></option>
            <option value="Alpha"></option>
            <option value="Bravo"></option>
            <option value="Charlie"></option>
            <option value="Delta"></option>
            <option value="Echo"></option>
            <option value="Foxtrot"></option>
            <option value="Gamma"></option>
        </datalist>
    </h:form>

</h:body>
</html>

但请记住,您需要在客户端预先获得完整的选项列表。根据键入的字符,不容易从数据库中填充。

如果允许您使用PrimeFaces之类的内容,则其p:autoComplete更强大