Set em atributo de objeto de um list com jsf

Bom dia Pessoal, estou desenvolvendo uma aplicação e me deparei com um problema, tenho uma classe que contem uma lista de objetos, esses objetos possuem atributos, tenho um MB que tem um objeto da classe, então estou tentando setar o atributo da lista de objetos do objeto, através de um componente do primefaces, tipo assim: <<p:inputText id=“nomeConselho” value="#{funcionarioBean.funcionario.habilitacaoProfissional}" />, onde, habilitaçãoProfissional é um List, só consigo chegar até aqui, e necessito chegar na próxima camada que é o atributo, então ficaria assim: value="#{funcionarioBean.funcionario.habilitacaoProfissional.nomeDoConselho}", alguém poderia me dar alguma ideia de como implementar este código? obrigado.

boa madrugada rsrs, seguinte para exibir um list vc tem que setar ele em um <p:dataTable> e dentro desse datatable vc vai poder exibir o atribudo da lista, veja no proprio exemplo do primefaces que vc consegue implementar.

Ok rogerioeerr, desde já obrigado, estive olhando o exemplo do primefaces, no entanto, não ei se entendi errado, mas lá tem um backing bean com o valores já prontos, ai o <p:dataTable> irá exibir os valores no <p:column>, no meu caso seria o inverso, as informações serão imputadas na View <p:inputText> que por sua vez estará ligado ao MB que terá um objeto que terá uma lista de objetos que por fim deverá setar valor ao atributo de um objeto da lista.

Se eu entendi… Você está querendo acessar os valores da lista e altera-los com inputText isso?

Acho que pode ser isso que você esta procurando.

<p:dataTable value="#{tableBean.carsSmall}" var="car" itemType="disc">  
   <p:column>  
            <f:facet name="header">  
                    Manufacturer
            </f:facet>  
    <p:inputText value="#{car.manufacturer}"/>  
     </p:column>
</p:dataTable >  

Declara a var do p:dataList para ter acesso aos objetos da tua lista.

este é o meu modelo de classe, notem que tenho alguns atributos que são listas pois, tem relação muitos pra um.


package model;

public class Funcionario
{
	public Funcionario() 
	{
		cargo = new Cargo();
		ferias = new ArrayList<Ferias>();
		observacao = new ArrayList<Observacao>();
		contribuicaoSindical = new ArrayList<ContribuicaoSindical>();
		naturalidade = new Naturalidade(); //ok
		filiacao = new Filiacao(); //ok
		endereco = new Endereco(); //ok
		transporte = new Transporte();
		documentoPisPasep = new DocumentoPisPasep();
		documentoCtps = new DocumentoCtps();
		documentoRg  = new DocumentoRg(); //ok
		dependente = new ArrayList<Dependente>();
		acidenteTrabalho = new ArrayList<AcidenteTrabalho>();
		empregador = new ArrayList<Empregador>();
		habilitacaoProfissional = new ArrayList<HabilitacaoProfissional>();
		alteracaoCargoSalario = new ArrayList<AlteracaoCargoSalario>();
	}
	
	private Long codigo;
	private String nome; //ok
	private Date dataNasc; //ok
	private String sexo; //ok
	private Date dataAdmissao;
	private Date dataDesligamento;
	private String escolaridade; //ok
	private String estadoCivil; //ok
	private Long cpf; //ok
	
	private Cargo cargo;
	private List<Ferias> ferias;
	private List<Observacao> observacao;
	private List<ContribuicaoSindical> contribuicaoSindical;
	private Naturalidade naturalidade; //ok
	private Filiacao filiacao; //ok
	private Endereco endereco; //ok
	private Transporte transporte;
	private DocumentoPisPasep documentoPisPasep;
	private DocumentoCtps documentoCtps;
	private DocumentoRg documentoRg; //ok
	private List<Dependente> dependente;
	private List<AcidenteTrabalho> acidenteTrabalho;
	private List<Empregador> empregador;
	private List<HabilitacaoProfissional> habilitacaoProfissional;
	private List<AlteracaoCargoSalario> alteracaoCargoSalario;

este é o meu managed bean da classe

package bean;

import model.Funcionario;

public class FuncionarioBean
{
	public FuncionarioBean()
	{
		funcionario = new Funcionario();
	}
	
	public Funcionario funcionario;
	
	public Funcionario getFuncionario() 
	{
		return funcionario;
	}
	public void setFuncionario(Funcionario funcionario) 
	{
		this.funcionario = funcionario;
	}

Aqui está o meu problema, através do meu managed bean só consigo chegar até habilitacaoProfissinal, porem necessito chegar ate habilitacaoProfissional.nomeDoConselho onde, nomeDoConselho é um atributo de habilitacaoProfissional que pertence a uma lista da minha classe modelo

<p:inputText id="nomeConselho" value="#{funcionarioBean.funcionario.habilitacaoProfissional}" />

desde já agradeço a todos.

Sua lista de HabilitacaoProfissional esta vazia.
Uma forma de fazer isso é instanciar HabilitacaoProfissional no ManagedBean e setar seus atributos pelo formulario atraves do <p:inputText> e depois chamar uma metodo para adicionar na lista de HabilitacaoProfissional em Funcionario:

exemplo Managed bean

...
public class FuncionarioBean  
{ 
...
private Funcionario funcionario;
private HabilitacaoProfissional habilitacaoProfissional;

public void salvarNaLista()
{
   this.funcionario.getListaHabilitacaoProfissional ().add(this.habilitacaoProfissional);
}
...

Na pagina ficaria assim

<p:inputText id="nomeConselho" value="#{funcionarioBean.habilitacaoProfissional.atributo}" /> 
<h:commandButton action="#{funcionarioBean.salvarNaLista}">

Se tiver que alterar dados direto da lista do funcionario será necessario um dataTable ou algo do tipo para acessar o conteudo da mesma.

Espero ter ajudado.

Boa noite rat000, ainda não fiz o teste, mas a princípio a solução do meu problema é exatamente o que você postou, muito obrigado, vou testar e posto novamente.

Obrigado rat000, é exatamente como você explicou, problema resolvido.