JSF - controlar comportamento do HTML gerado

7 respostas
R

Galera,
tenho esse código:

<td><h:selectOneMenu id="vst" disabled="#{visitaController.telaEdicao=='true'}"   converter="entityConverter"
	required="true" requiredMessage="Informe Visitante"
	value="#{visitaController.visita.visitante}">
	<f:selectItem itemLabel="Selecione" itemValue="" />
       <f:selectItems value="#{visitaController.visitantes}" />
	<a4j:support ajaxSingle="true" event="onchange" actionListener="#{visitaController.limpaDocumento}" reRender="doc"/>
	</h:selectOneMenu>
</td>
								
								
<td>
	<a4j:commandLink ajaxSingle="true" styleClass="add" 
	  reRender="modalVisitante"
	  oncomplete="Richfaces.showModalPanel('modalVisitante');" />
</td>

Como podem ver,é um combo com um link ao lado.

O problema é que o combo está tomando mais espaço do que deveria e por isso está ficando uma distância muito grande entre o combo e o link. Como posso resolver isso?


7 Respostas

Kanin_Dragon

Jovem,

Crie um CSS para este componente definindo o tamanho dele ou utilize o styleClass.

Abs,

R

Kanin Dragon:
Jovem,

Crie um CSS para este componente definindo o tamanho dele ou utilize o styleClass.

Abs,

Acho que não rola,pois o combo ajusta o tamanho de acordo com as opções que estão nele.

L

coloca no width do css p !important:

/*Exemplo*/
width: 500px !important

Aí acho que força JSF.

ps.
Esse um ponto de JSF e dos seus componentes que é gritante

R

Fiz como o kanin falou:

<h:selectOneMenu styleClass="xxx"/>
 .xxx{
 width: 200px;
 }

Diminuiu o tamanho do combo,mas o link ainda é ‘empurrado’ pro fim do <tr>

R

Lucas,com o !important tambem n rolou…

L

Essas customização de renderização meio chatinho de resolver.

E se voce colocar o Link na mesma célula onde está a combo, e deixar esta célula com colspan=“2”?

ps.
Eu já tive bastante problema com JSF, em questao de nao permitir flexibilidade na renderização, tendo que fazer alguns “hack” em CSS e JS para customizar.
Um dos motivos que me fez criar este tópico: http://www.guj.com.br/java/236788-crise-com-jsf e abandonar de vez o JSF.

R

Com o colspan,mesmo resultado,não entendo pq que definindo o width ainda continua ocupando a linha inteira.

&lt;td colspan="2"&gt;
&lt;h:selectOneMenu styleClass="teste"  id="vst" disabled="#{visitaController.telaEdicao=='true'}"   converter="entityConverter"
required="true" requiredMessage="Informe Visitante"
value="#{visitaController.visita.visitante}"&gt;
	&lt;f:selectItem itemLabel="Selecione" itemValue="" /&gt;
	&lt;f:selectItems value="#{visitaController.visitantes}" /&gt;
	&lt;a4j:support ajaxSingle="true" event="onchange" actionListener="#{visitaController.limpaDocumento}" reRender="doc"/&gt;
&lt;/h:selectOneMenu&gt;
									
  &lt;a4j:commandLink ajaxSingle="true" styleClass="add" 
  reRender="modalVisitante"
  oncomplete="Richfaces.showModalPanel('modalVisitante');" /&gt;
&lt;/td&gt;


Criado 23 de maio de 2011
Ultima resposta 23 de mai. de 2011
Respostas 7
Participantes 3