Heranca com beans

javax.servlet.ServletException: The class 'controller.managedBeans.user.CadastroBO' does not have the property 'nP'.

Olá pessoal, tenho duas classes

package controller.managedBeans;
//imports

public abstract class BO {
    protected PessoaDAO pessoaC;
    protected PessoaVO pessoaVO;
    protected ArrayList<PessoaVO> tabelaP;

    protected int nP; //aqui esta o problema
 
    //... respectivos sets e gets e outros metodos
package controller.managedBeans.user;
//imports

public class CadastroBO extends BO {

    public CadastroBO() {
        pessoaC = new PessoaDAO();
        pessoaVO = new PessoaVO();
        tabelaP = new ArrayList<PessoaVO>();
        nP = 0;
    }

    //...outros metodos

minha pagina

...
<rich:dataTable value="#{cadastroBO.tabelaP}" var="tab" rows="#{cadastroBO.nP}"> //só tem nP aki
...

meu managedBean

...
   <managed-bean>
        <managed-bean-name>cadastroBO</managed-bean-name>
        <managed-bean-class>controller.managedBeans.user.CadastroBO</managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
...

Por que a heranca nao esta funcionando com nP, se com os outros objetos funciona? Se eu tiro nP tudo funciona normal

Abraços

up

tenta:

 super.nP = 0;  
javax.faces.FacesException: javax.el.PropertyNotFoundException: The class 'controller.managedBeans.user.CadastroBO' does not have the property 'nP'.

mesma coisa

nao funciona heranca com beans?

Abraços

“Beans” não passam de classes java com metodos gets e sets para seus atributos de instancia e um construtor sem argumento. É irrelevante para a questão de herança ou não.

O erro não é por causa disso, pois senão não compilaria. O erro está quando está tentando acessar em tempo de execução pelo #{cadastroBO.nP}…

O método get não deveria ser public para ser acesado pela view?

    public int getNP() {
        return nP;
    }

    public void setNP(int nP) {
        this.nP = nP;
    }

set e get são public, mas o atributo é protected

o estranho é q os outros objetos funcionam, menos o int

alguem sabe o problema?

Faça um teste jogando a propiedade nP para CadastroBO.
Se não me engano já tive problemas com essa propriedade row do dataTable, não me lembro de fato. O problema na época foi que a propriedade não estava aceitando expressões EL.