Olá,
estou com a seguinte dúvida em JSF:
se eu escrevo o seguinte código:
<h:outputText value="#{clienteBusiness.operacao}"></h:outputText>
me aparece escrito na tela o valor do atributo operação.
Contudo, se eu faço o mesmo código agora em JSTL:
<c:out value="#{clienteBusiness.operacao}"></c:out>
Ele imprime ="#{clienteBusiness.operacao} como String.
Alguém sabe como eu posso pegar o valor de operação?
Obrigado
Olá,
o certo em JSTL é…
<c:out value="${clienteBusiness.operacao}"></c:out>
de JSTL para JSF muda apenas $ para #…
Até Mais…
JSF é incompatível com JSTL.
Use as tags do JSF
Até mais!
TangZero:
o que você sugeriu gera o seguinte erro:
org.apache.jasper.JasperException: /cliente/form_cliente.jsp(22,0) According to TLD or attribute directive in tag file, attribute value does not accept any expressions
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
davidbuzatto:
sim, eu estava realmente desconfiado disso.
Teria como vc fazer um exemplo de um if ou me passar um site q explique os if’s, for’s, switch’s etc?
Brigadão cara
Galera,
consegui resolver o problema:
Antes, a chamada da minha tag lib era:
<%@ taglib uri=“http://java.sun.com/jstl/core” prefix=“c” %>
Daí eu copiei todos os arquivos TLD para a pasta /WEB-INF/LIB e chamei o meu uri assim:
<%@ taglib uri="/WEB-INF/lib/c-rt.tld" prefix=“c” %>
Com isso, agora eu consigo fazer coisas do tipo:
<c:if test="${sessionScope.clienteBusiness.operacao == 0}" >
<h:commandButton value="Inserir" action="#{clienteBusiness.inserir}"/>
</c:if>
Os arquivos TLD referidos eu peguei no site: http://people.apache.org/builds/jakarta-taglibs/nightly/jakarta-taglibs-20060829.zip
Flw