Como forçar o JSF a ter o ID que eu definir?

6 respostas
C

Olá pessoal,

No meu jsf eu tenho o seguinte trecho:

<h:inputTextarea id="conteudo" rows="5" value="#{adminSiteBean.paginaSelecionada.conteudo}" style="width:420px;">
</h:inputTextarea>

Notem que o id é conteudo. No HTML gerado o id passa para: j_id52:conteudo.

Na aplicação que eu estou construindo, seria muito importante se o JSF não alterasse o ID deste textarea.

Há alguma forma de forçar o JSF a não alterar este meu id? :wink:

Obrigado!!!

Claudiney

6 Respostas

Jair_Rillo_Junior

Está usando o JSF 1.2, certo?

Esse j_id52 é o ID do <h:form>.

Se você não quer mostrar o ID do form, você pode usar a tag prependId dentro do h:form

&lt;h:form prependId="false"&gt;
rafagil

complementando a pergunta:

Só da pra fazer isso no JSF 1.2? ou tem alguma outra forma?

Grato.

CintiaDR

Eu tenho feito assim:

&lt;h:form id="qqId"&gt;
&lt;h:inputTextarea id="conteudo" /&gt;
&lt;/h:form&gt;

e o id do InputTextArea resulta em qqId:conteudo

antoniopopete

O atributo forceId faz is opara você.

<t:inputText value="#{tipoPromocaoCadastroFaces.tipoPromocaoModel.descricao}" required="true" styleClass="form_text_g" id="descricao" forceId="true" maxlength="30" />
urubatan

forceId só existe nos componentes da biblioteca tomahawk

respondendo a pergunta, sim isto só possível com os componentes padrão e a grande maioria dos outros em JSF 1.2.

antoniopopete

Hum, não sabia que era limitado a apenas o tomahawk.
Achei que este fosse o padrão mais usado em jsf.
Não sabia que as pessoas usam jsf puro, sem aas suas extensões.
A versão 1.2 está do nivel do tomahawk?

Criado 23 de novembro de 2007
Ultima resposta 23 de nov. de 2007
Respostas 6
Participantes 6