No caso ai Aluno é um Usuário (extends), porém no meu código não consigo fazer #{aluno.metodoDeUser}
Mas preciso muito, existe alguma tag pra fazer isso?
Ou tem que copiar e colar mesmo? :lol:
public String metodoDaSuperClasse(){
return super.metodoDaSuperClasse();
}
sjoaquim
OBS: esse método deve ser colocado na subclasse, obviamente!
T
thgdias
o método na super classe é public?
Metallica
Resolver resolve, eu já tinha pensando nisso, mas fica meio POG.
Não tem um jeito mesmo de herdar os métodos?
T
thgdias
voce esta herdando eles, mas so tera acesso se eles forem public, pode postar o seu BackBean e a superclasse a qual ela extende?
Metallica
thgdias:
voce esta herdando eles, mas so tera acesso se eles forem public, pode postar o seu BackBean e a superclasse a qual ela extende?
Opa, claro, bem lembrado.
publicclassUsuario{privateStringusuario;privateStringsenha;publicStringgetSenha(){returnsenha;}publicvoidsetSenha(Stringsenha){this.senha=senha;}publicStringgetUsuario(){returnusuario;}publicvoidsetUsuario(Stringusuario){this.usuario=usuario;}publicStringcadastra(Usuariou){// faz algumas coisas}
publicclassAlunoextendsUsuario{privateintrg;privateStringnome;privateintcodigoCurso;privatedoublenota;//getters e setters
Em uma parte da minha aplicação eu preciso chamar o setUsuario só que num managed-bean Aluno :
bom, pelos seus códigos, aparentemente não há nada de errado… eu uso objetos de superclasses e não tenho problema algum com isso… talvez o problema esteja sendo outro… que erro dá?
Metallica
Não é erro, é como eu tinha falado, eu só queria usar os métodos herdados sem ter que criar um método novo chamando super.
E gostaria de saber se não tem alguma tag especifica no XML que diz que Aluno é filha de Usuario e por isso poderia chamar os metodos herdados.
T
thgdias
nao tem tag nenhuma… e so chamar ele e pronto… como no exemplo que voce mesmo deu, seu managed bean ja estara herdando ele, logo… terá acesso aos metodos que forem publicos.
#{aluno.metodoDeUser}
mais nada mesmo pra fazer!
Metallica
thgdias:
nao tem tag nenhuma… e so chamar ele e pronto… como no exemplo que voce mesmo deu, seu managed bean ja estara herdando ele, logo… terá acesso aos metodos que forem publicos.
#{aluno.metodoDeUser}
mais nada mesmo pra fazer!
É exatamente esse o problema, não herda.
Eu não consigo fazer:
#{aluno.metodoDeUser}
Bom, mas já vi que o problema só pode ser resolvido assim, fazer o que.
T
thgdias
tem alguma outra coisa errada ai… ve la no log do seu container pra ver se ele nao ta reclamando de nada… tem que funcionar dessa maneira
fwbrasil
Alguma coisa está errada. Uso métodos herdados sem nenhum problema aqui.
Você está usando assim?
Se você usar setUsuario não vai funcionar mesmo porque ele vai procurar o get/set de uma propriedade chamada “setUsuario”
sjoaquim
Qual implementação de JSF você está usando? Às vezes ela tem algum problema com reflection. Digo porque se você chamar o método <Classe>.getDeclaredMethods(), os métodos de superclasse não vão aparecer nesse caso.