jsp no entra en <c:if....>

cancel
Showing results for 
Search instead for 
Did you mean: 
fstnboy
Active Member

jsp no entra en <c:if....>

Buenas a todos!

Tengo el siguiento trozo de código en una .jsp, la cosa es que al hacer la llamada a "esLibre" no creo que me entre, puesto que en el log no veo nada escrito (el log funciona bien!)…



<c:if test="#{ResumenEjecutivo.esLibre==false}">
   <h:column>
   …
   </h:column>
</c:if>


El código del método esLibre, por si sirve de algo es el siguiente:


public boolean esLibre(){
   boolean retorno;
   retorno = navigationBean.getCurrentNode().getAspects().toString().contains("ResumibleLibre");
   s_logger.info("Es libre: " + retorno);
   return retorno;
}

Gracias!
11 Replies
ajv
Member II

Re: jsp no entra en <c:if....>

Hola fstnboy,

No he utilizado el tag c:if…no sé ni siquiera a qué namespace forma parte  Smiley Surprisedops:
Yo usaría el booleanEvaluator de Alfresco, por ejemplo:
<a:booleanEvaluator value="#{bean.isCheckedOut}">
     <h:outputText value="Component inside an evaluator"/>
</a:booleanEvaluator>

Saludos!!
fstnboy
Active Member

Re: jsp no entra en <c:if....>

Qué haría yo sin ti!

Bueno, ahora sé que me entra al método, pero…. jeje no me entro dentro de la etiqueta. Es decir, quiero que entre cuando el valor sea falso, para lo que escribo lo siguiente pero no me entra!



<a:booleanEvaluator value="#{ResumenEjecutivo.esLibre == false}">
   …
</a:booleanEvaluator>

ajv
Member II

Re: jsp no entra en <c:if....>

Hola de nuevo fstnboy,

¿Y si pruebas así?:
<a:booleanEvaluator value="#{!ResumenEjecutivo.esLibre}">
   …
</a:booleanEvaluator>
Mirando un poco la definición del tag, tiene pinta que espera un valor boolean en lugar de una expresión a interpretar…Si niegas el valor (!) quizás te vaya perfecto.
Ya me dirás si es así realmente.  Smiley Very Happy

Hasta luego!!
fstnboy
Active Member

Re: jsp no entra en <c:if....>

tampoco ha funcionado…  :roll:

¿Alguna otra manera de hacerlo?
ajv
Member II

Re: jsp no entra en <c:if....>

pues sí que es extraño!

En el peor de los casos, mira de crearte un método adicional en el bean (NoEsLibre) que te devuelva el negado de esLibre: !(esLibre) y pon ese método en el evaluador…a ver qué pasa.
Suerte!
fstnboy
Active Member

Re: jsp no entra en <c:if....>

Que va… tampoco me ha servido, he probado quitando la condición, por si habia algo mal en el código y sin condición me lo muestra bien! umm con lo del <c:if….> ni me llama a la función. Por lo menos el booleanEvaluator sí que me llama.
fstnboy
Active Member

Re: jsp no entra en <c:if....>

Paso a poner todo el código, por si veis algo raro…

jsp:

<a:booleanEvaluator value="#{ResumenEjecutivo.esLibre==false}">
   <h:column>
      <f:facet name="header">
         <h:outputText value="% sobre el total de litigios incluidos en este cuadro"/>
      </f:facet>
      <h:outputText value="#{r.porcentaje}%"/>
      <f:facet name="footer">
         <h:outputText value="#{ResumenEjecutivo.porcenTotal}%"/>
      </f:facet>
   </h:column>
</a:booleanEvaluator>

Lo del "==false" lo he visto en un ejemplo así que yo supongo que funcionará.


Bean:

private boolean esLibre = false;

public boolean getEsLibre(){
   esLibre = navigationBean.getCurrentNode().getAspects().toString().contains("ResumibleLibre");
   s_logger.info("Es Libre: " + esLibre);
   return esLibre;
}

public void setEsLibre(boolean libre){
   esLibre = libre;
}

El log muestra que es "false" unas 4-5 veces seguidas…
ajv
Member II

Re: jsp no entra en <c:if....>

Hola fstnboy,

Me sabe mal porque es que ahora no tengo tiempo para hacer pruebas (el viernes tengo un examen de opos chunguito)…
Se me ocurre otra idea: Usar el atributo rendered del tag column, a ver si así te funciona:
<h:column rendered="#{ResumenEjecutivo.esLibre==false}">
      <f:facet name="header">
         <h:outputText value="% sobre el total de litigios incluidos en este cuadro"/>
      </f:facet>
      <h:outputText value="#{r.porcentaje}%"/>
      <f:facet name="footer">
         <h:outputText value="#{ResumenEjecutivo.porcenTotal}%"/>
      </f:facet>
</h:column>
Venga, hasta luego!
fstnboy
Active Member

Re: jsp no entra en <c:if....>

Dios, como te quiero ajv!!!

Funciona! Siempre me sacas de apuros.

Que tengas suerte en el examen.

Un abrazo y saludos