Вы можете достичь этого либо с атрибутом placeholder
, либо с p:watermark
, если используете Primefaces и JSF 2.0+, либо, когда JSF 2.2 доступен, вы можете использовать атрибут pt:placeholder
.
Primefaces
<p:inputText id="search_input_id" value="#{watermarkBean.keyword}"
required="true" label="Keyword" placeholder="fill me" />
Поддержка устаревших браузеров (добавляет решение JS):
<p:inputText id="search_input_id" value="#{watermarkBean.keyword}"
required="true" label="Keyword" />
<p:watermark for="search_input_id" value="fill me" />
JSF 2.2 (без PF)
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:pt="http://xmlns.jcp.org/jsf/passthrough">
<h:head>
</h:head>
<h:body>
<h:inputText value="#{bean.value}" pt:placeholder="fill me"/>
</h:body>
</html>
Который в основном генерирует HTML 5
<input placeholder="fill me" />
Проверьте этот ответ.