Salve pessoal!!
Seguinte, estou desenvolvendo uma aplicação usando JSF, e realmente mto massa…
O problema que encontrei está relacionado com os escopos de trabalho do JSF (não do jsf necessariamente, mas sim do ambiente mesmo)… request, session e application.
Sempre usei tudo na sessão, com struts… mas com jsf da pra fazer coisa melhor…
Meu mbean(UsuarioController) está no escopo request e tem um usuarioList List com os usuarios, e usuarioSelecionado…
Tenho uma jsp com uma tabela de listagem de usuarios clico em uma linha da tabela, passo por um listener, seto o usuarioSelecionado e populo um form na mesma pagina… massa tudo 100%…
Edito e clico em gravar… ao clicar em gravar vem a blz do erro: javax.faces.el.PropertyNotFoundException: Error testing property ‘nome’ in bean of type null
O meu bean usuario realmente está nulo, tudo bem… o usuarioSelecionado está nulo… mas pra resolver esse problema só deixando o mbean no session???
Alguém tem alguma idéia de como resolver isso???
Valeu pessoal e até!!
Mande o codigo do seu bean ai.
Esse é o mbean… que está em request…
[code]package server.web.controller;
import com.sun.data.provider.impl.ObjectListDataProvider;
import javax.faces.component.UIViewRoot;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import server.model.empresa.Empresa;
import server.model.empresa.EmpresaDAO;
public class EmpresasController {
private Empresa empresa;
private String parameterId;
public EmpresasController() { }
public Empresa getEmpresa() { return empresa; }
public void setEmpresa(Empresa empresa) { this.empresa = empresa; }
public String getParameterId() { return parameterId; }
public void setParameterId(String parameterId) { this.parameterId = parameterId; }
public void empresaSelectListener(javax.faces.event.ActionEvent actionEvent) throws Exception {
if(parameterId != null) {
try {
empresa = EmpresaDAO.getById(new Integer(parameterId));
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
public ObjectListDataProvider getEmpresasProvider() throws Exception {
ObjectListDataProvider provider = new ObjectListDataProvider();
provider.setList(EmpresaDAO.listAll());
provider.setObjectType(Empresa.class);
return provider;
}
public void actionSave(javax.faces.event.ActionEvent actionEvent) throws Exception {
if(empresa != null) {
System.out.println("ID: " + empresa.getId());
System.out.println("ID: " + empresa.getSCodEmpresa());
} else {
System.out.println("NULLLLLLLL");
}
}
}[/code]
como está seu faces config?
<managed-bean>
<managed-bean-name>EmpresaController</managed-bean-name>
<managed-bean-class>server.web.controller.EmpresasController</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
Cara… eu acho que o problema não está com o código…
Pessoal ninguém mais teve esse problema???
Rapaz isso é classico,
coloca um construtor e faz assim
public EmpresasController (){
empresa = new Empresa();
}
ele ta tentando instanciar um atributo de um objeto que esta null.
Lembre sempre disso, pois ja perdi muito tempo com isso
quando for usar um obeto tenha certeza que o mesmo esta instanciado.

Arre… alguém!!! hehehe
Valeu afamorim!!! 
Então cara… isso resolveria o problema… em partes…
Tem alguns lugares na JSP que verifico se a empresa é null ou não e faço alguma ação…
Por exemplo:
<ui:button text="Salvar" style="width: 100%" disabled="#{EmpresaController.empresa == null}" />
Nesse caso só habilito a empresa se o cara escolheu uma…
No controller tb criei um método actionNew, neste método eu faço empresa = new Empresa(), neste código o cara clicou em “Nova Empresa”
Ai é o problema de eu iniciar a empresa no construtor… seria melhor controlar essa seleção por outra variavel? Não seria meio “estranho” ??
Não é estranho, pois é uma regra da interface, então vc vai criar uma variavel no seu pagebean para atender essa regra dessa tela.