Boa tarde,
Como devo proceder para acessar um atributo de um atributo em composite implementation
Quando faço:
value="#{cc.attrs.pessoa.tipoPessoa}"
dá o erro: /resources/componentes/pessoaFisica.xhtml @68,203 value="#{cc.attrs.pessoa.tipoPessoa}": Target Unreachable, ‘pessoa’ returned null
E o pior que o obejto pessoa esta diferente de nulo, se faço:
value="#{cc.attrs.tipoPessoa}"
todos o valores da tela são atribuidos ao objeto pessoa, exceto o tipo pessoa
Chamada do componete na pagina .xhtml.
<comp:pessoaFisica
tipoPessoaLabel = "#{bundle.tipoPessoa}"
tipoPessoaValue = "#{contratoBean.contrato.pessoa.tipoPessoa}"
requiredTipoPessoa = "true"
renderedTipoPessoa = "true"
/>
Componente e sua implementação:
<composite:interface>
<composite:attribute name="tipoPessoaLabel" />
<composite:attribute name="tipoPessoaValue" />
<composite:attribute name="requiredTipoPessoa" />
<composite:attribute name="renderedTipoPessoa" />
</composite:interface>
<composite:implementation>
<p:panelGrid columns="2">
<p:outputLabel for="tipoPessoa" value="#{bundle.tipoPessoa}" rendered="#{cc.attrs.renderedTipoPessoa}"/>
<p:selectOneMenu id="tipoPessoa" value="#{cc.attrs.tipoPessoa}" requiredMessage="#{bundle.tipoPessoa_required}" required="true" rendered="#{cc.attrs.renderedTipoPessoa}" style="width:100px;">
<f:selectItem itemValue="" itemLabel="Selecione" />
<f:selectItem itemValue="A" itemLabel="Aluno" />
<f:selectItem itemValue="R" itemLabel="Representante" />
</p:selectOneMenu>
</p:panelGrid>
</composite:implementation>