Erro ao criar managed bean

Pessoal, estamos fazendo uns testes aqui com JSF na empresa (peguei o exemplo no Blog do Urubatan), pra avaliar se vale a pena comecar um novo projeto com ele, porém estou com um problema que é o seguinte:

no faces-config.xml estou tentando configurar um managed-bean abaixo:

<managed-bean>
<managed-bean-name>login</managed-bean-name>
<managed-bean-class>br.com.emanuel.jsfjpasec.Login</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>mdata</managed-bean-name>
<managed-bean-class>br.com.emanuel.jsfjpasec.SomeData</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>loginOk</property-name>
<property-class>java.lang.Boolean</property-class>
<value>#{login.loginOk}</value>
</managed-property>
</managed-bean>

o tomcat apresenta o seguinte erro:

11/03/2010 10:07:26 com.sun.faces.mgbean.BeanManager preProcessBean
SEVERE: JSF will be unable to create managed bean mdata when it is requested. The following problems where found:
- The property loginOk for managed bean mdata is defined with a property class of java.lang.Boolean, however, this class is not assignable to the property.

Veja que na classe Login.java eu tenho o atributo loginOk declarado:

package br.com.emanuel.jsfjpasec;
public class Login {
[size=18] private boolean loginOk;[/size]
private String userName;
private String password;
public boolean isLoginOk() {
return loginOk;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String validateLogin(){
if(userName!=null && password!=null && !userName.equalsIgnoreCase(password)){
loginOk = true;
return “secpage”;
}else return “login”;
}
}

Alguem tem alguma sugestao?

Já que voce está fazendo testes…

experimenta esse aqui também

http://www.nextframework.org

É bem fácil e rápido… então nao custa tentar… tem tutoriais em video…

Sobre o seu problema… não foi possivel utilizar #{login.loginOk} na propriedade do tipo boolean… acho que não rola de usar uma expression nesse local… num faz muito sentido mesmo nao porque… imagine se o login.loginOk… troque de valor…
Me parece que a’te em versoes mais novas voce poderia fazer algo desse tipo… veja se a versao que está utilizando é a mesma
Pelo que vejo por aí é mais interessante utilizar o JSF com o JBoss Seam, o Seam resolve uma série de problemas do JSF…

Os experts em JSF podem opinar melhor

Verdade, pode ser algum pró de versao…

o post é bem antigo inclusive:
http://www.urubatan.com.br/implementando-login-com-jsf-exemplo-simples/comment-page-1/#comments

Ah: Vou dar uma olhada na sua solucao sim! Obrigado!

Altere o tipo primitivo, para o tipo "wrapper"
correspondente. Teste novamente e verifique.

import java.lang.Boolean;

private Boolean loginOk;
...

Eu tinha feito esse teste ai … Mas nao faz diferenca, acho que ele utiliza-se das propriedades de Autoboxing e auto-unboxing do java.

To comecando a achar que esse problema está ligada a versao do JSF. O post é de 2007. :frowning: