JSF - Acessando Metodos/Atributos Estaticos diretamente na PAGINA.[RESOLVIDO]

4 respostas
angeliski

Eu procurei e nao consegui encontrar, acho que porq eu nao sei o nome correto disso.
Eu estou iniciando no JEE e JSF, estou montando uma tela de login MUITO simples, o Bean Usuario tem um metodo que valida o usuario.
Num primeiro momento a senha e o login são “fixos”, eu atribui eles a dois atributos estaticos. Minha duvida é, como eu posso acessar esses atributos estatico na pagina?

Eu quero acessar eles para poder modificar a senha e o login em tempo de execução.

Grato.

4 Respostas

Hebert_Coelho

Crie um get não estático. E vai funcionar numa boa! [=

angeliski

Sim, mas entao nao tem um modo de acessar metodos estaticos na pagina? só posso chamar eles se nao forem estaticos ou existem algum modo de realizar isso?

Hebert_Coelho

Tem uai, faz o que eu falei.

Fica assim:private static String VALOR="ASD"; public String getValor(){ return VALOR; }
Agora direto da página fazer #{meuBean.VALOR} não irá funcionar.

O JSF se aplica com o padrão JavaBeans da própria Oracle, e esse padrão determina que para acessar um método tem que ser por get/set/is.

Mas o JSF não acessar um get que seja estático.

angeliski

eu entendi a ideia do Get nao estatico, a minha duvida foi com usar um medoto estatico na pagina, mesmo q nao fosse um get. Suponha que eu tenho um metodo que gera um nome aleatorio pra mim, eu nao consigo usar ele no JSF, certo? eu teria que usar uma tag <% %> pra chamar esse metodo, suponho eu.

Obrigado pela ajuda.

Nao sei se vc pode me ajudar, mas estou com um erro assim:

Grave: Servlet.service() for servlet Faces Servlet threw exception
org.apache.jasper.el.JspPropertyNotWritableException: /cadastrarLogin.jsp(18,2) '#{validaUsuario.loginValido} ' Illegal Syntax for Set Operation
	at org.apache.jasper.el.JspValueExpression.setValue(JspValueExpression.java:88)
	at javax.faces.component.UIInput.updateModel(UIInput.java:805)
	at javax.faces.component.UIInput.processUpdates(UIInput.java:722)
	at javax.faces.component.UIForm.processUpdates(UIForm.java:270)
	at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1108)
	at javax.faces.component.UIViewRoot.processUpdates(UIViewRoot.java:1239)
	at com.sun.faces.lifecycle.UpdateModelValuesPhase.execute(UpdateModelValuesPhase.java:78)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:856)
	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565)
	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509)
	at java.lang.Thread.run(Unknown Source)

só que nao consigo entender porq, meu bean ta mapeado corretamente, e uma outra classe em outra pagina nao gera esse erro.

Criado 7 de abril de 2012
Ultima resposta 7 de abr. de 2012
Respostas 4
Participantes 2