Pessoal que to fazendo de errado pra ficar dando esse erro. segue:
/restrito/movimento_item.xhtml @23,145 value="#{movimentoItemBean.movimentoItem.cod_item}": Target Unreachable, ‘movimentoItem’ returned null
Tenho bean movimento e outra movimento_item que seria “capa” e a outra de “itens da capa”
Digito os dados da capa gravo blz ele gera a ID automatica no banco, ate ai blz. dai tenho botao na datatable pra cada linha pra adicionar os itens, clico no mesmo e carrego a id do movimento para pode usar no gravar dos itens ja q é a chave tb, so que ao digitar os campos do item e dar salvar o mesmo grava na tabela dai ao recarregar a pagina pois tem uma datatable abaixo do form dos campos dos itens pra ir mostrando os itens que estao sendo cadastrado, da o erro citado acima, parece que no selectonemenu do material, to batendo a cabeça faz uma semana e nao descubro e preciso entregar TCC segunda, por favor me ajudem, o que pode ser??? me ajudem. Segue abaixo a codificação da tela e do movimento_item bean.
Tela:
<h:form id="cadastro" style="width:700px; margin-left:30px;">
<p:growl id="growl" />
<p:panel id="panel">
<f:facet name="header">Cadastro de Itens</f:facet>
<h:outputLabel id="cod_movime" value="#{movimentoItemBean.movimentoItem.cod_movime}"/>
<h:panelGrid columns="2">
<p:outputLabel value="Nº Documento:"/>
<p:outputLabel id="cod_docume" value="#{movimentoBean.movimento.cod_docume}/#{movimentoBean.movimento.cod_serie_docume}" style="font-size:30px" />
<p:outputLabel value="Cód.Item:" for="cod_item"/>
<p:selectOneMenu id="cod_item" value="#{movimentoItemBean.movimentoItem.cod_item}" required="true" requiredMessage="Cód.Item é obrigatório!">
<f:selectItem itemLabel="Selecione Material"/>
<f:selectItems value="#{materialBean.lista}"
var="material"
itemValue="#{material.cod_materi}"
itemLabel="#{material.des_materi}"
/>
</p:selectOneMenu>
<p:outputLabel value="Cód.Unidade" for="cod_unidad"/>
<p:inputText id="cod_unidad" value="#{movimentoItemBean.movimentoItem.cod_unidad}" size="4" maxlength="2" required="true" requiredMessage="Unidade do item é obrigatório!"/>
<p:outputLabel value="Qtde Item:" for="val_quanti_item" />
<p:inputText id="val_quanti_item" value="#{movimentoItemBean.movimentoItem.val_quanti_item}" size="10" required="true" requiredMessage="Qtde do Item é obrigatório!"/>
<p:outputLabel value="Preço Unitar.:" for="val_preco_unitar" />
<p:inputText id="val_preco_unitar" value="#{movimentoItemBean.movimentoItem.val_preco_unitar}" size="10" required="true" requiredMessage="Preço Unitário é obrigatório!">
<f:convertNumber pattern="#,##0" minFractionDigits="2" maxFractionDigits="2" />
<f:ajax event="blur" execute="@this" render="val_preco_unitar" />
</p:inputText>
</h:panelGrid>
<f:facet name="footer">
<p:commandButton id="btnSalvar" action="#{movimentoItemBean.salvar}" value="Salvar" icon="ui-icon-disk" ajax="false"/>
<p:commandButton id="btnVoltar" action="#{movimentoItemBean.voltar}" value="Voltar" icon="ui-icon-arrowreturnthick-1-w" immediate="true" />
</f:facet>
</p:panel>
</h:form>
<br /><br />
<h:form id="listagem" style="width:700px; margin-left:30px;">
<p:dataTable id="itens_nota" value="#{movimentoItemBean.lista}" var="item">
<h:inputHidden value="#{item.cod_movime}" />
<p:column id="colunaSeqItem">
<f:facet name="header">
<h:outputText value="Item"/>
</f:facet>
<h:outputText value="#{item.seq_item}" id="seq_item"/>
</p:column>
<p:column id="colunaCodMaterial">
<f:facet name="header">
<h:outputText value="Cod.Item"/>
</f:facet>
<h:outputText value="#{item.material.des_materi}" id="des_materi"/>
</p:column>
<p:column id="colunaQtdeUnidade">
<f:facet name="header">
<h:outputText value="Qtde"/>
</f:facet>
<h:outputText value="#{item.val_quanti_item}" id="val_quanti_item"/>
</p:column>
<p:column id="colunaCodUnidade">
<f:facet name="header">
<h:outputText value="Unidade"/>
</f:facet>
<h:outputText value="#{item.cod_unidad}" id="cod_unidad"/>
</p:column>
<p:column id="colunaPrecoUnitar">
<f:facet name="header">
<h:outputText value="Preço Unitar."/>
</f:facet>
<h:outputText value="#{item.val_preco_unitar}" id="val_preco_unitar"/>
</p:column>
<p:column id="colunaTotal">
<f:facet name="header">
<h:outputText value="Total"/>
</f:facet>
<h:outputText value="#{movimentoItemBean.somaTotal()}" id="val_preco_total">
<f:convertNumber pattern="#,##0" minFractionDigits="2" maxFractionDigits="2" />
</h:outputText>
</p:column>
<p:column id="colunaExcluir" style="width:10px;text-align:center">
<p:commandLink action="#{movimentoItemBean.excluir}" onclick="if (!confirm('Confirma a exclusão da #{item.material.des_materi}?')) return false;" update="itens_nota">
<h:graphicImage library="imagens" name="excluir16.png" style="border:0;"/>
<f:setPropertyActionListener target="#{movimentoItemBean.movimentoItem}" value="#{item}"/>
</p:commandLink>
</p:column>
</p:dataTable>
</h:form>
Bean dos itens.
package cpsobras.web;
import java.io.Serializable;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import cpsobras.movimento_item.MovimentoItemRN;
import cpsobras.movimento_item.Movimento_Item;
@ManagedBean(name="movimentoItemBean")
@SessionScoped
public class MovimentoItemBean implements Serializable {
private static final long serialVersionUID = 1L;
private Movimento_Item movimentoItem = new Movimento_Item();
private List<Movimento_Item> lista;
private List<Movimento_Item> pesquisarMovimentoItem;
private Integer cod_movime;
public Integer getCod_movime() {
return cod_movime;
}
public void setCod_movime(Integer cod_movime) {
this.cod_movime = cod_movime;
}
public String salvar(){
int i = 0;
MovimentoItemRN movimentoItemRN = new MovimentoItemRN();
if(this.lista != null){
i = this.lista.size()+1;
}else{
i = 1;
}
this.movimentoItem.setCod_movime(this.cod_movime);
this.movimentoItem.setSeq_item(i);
movimentoItemRN.salvar(this.movimentoItem);
FacesContext context = FacesContext.getCurrentInstance();
FacesMessage facesMessage = new FacesMessage("Cadastrado com sucesso!");
context.addMessage(null, facesMessage);
//FacesContext.getCurrentInstance().getExternalContext().getSessionMap().remove("movimentoItemBean");
this.movimentoItem = null;
return "";
}
public String excluir(){
MovimentoItemRN movimentoItemRN = new MovimentoItemRN();
movimentoItemRN.excluir(this.movimentoItem);
this.lista = null;
FacesContext.getCurrentInstance().getExternalContext().getSessionMap().remove("movimentoItemBean");
return "listar_movimento_item";
}
public String alterar(){
return "movimento_item";
}
public String voltar(){
return "listar_movimento_item";
}
public List<Movimento_Item> getLista() {
this.lista = null;
MovimentoItemRN movimentoItemRN = new MovimentoItemRN();
this.lista = movimentoItemRN.listar(this.cod_movime);
return this.lista;
}
public List<Movimento_Item> getPesquisarMovimentoItem() {
return pesquisarMovimentoItem;
}
public void setPesquisarMovimentoItem(List<Movimento_Item> pesquisarMovimentoItem) {
this.pesquisarMovimentoItem = pesquisarMovimentoItem;
}
public Movimento_Item getMovimentoItem() {
return movimentoItem;
}
public void setMovimentoItem(Movimento_Item movimentoItem) {
this.movimentoItem = movimentoItem;
}
public Double somaTotal(){
return 0.00;
//this.movimentoItem.getVal_quanti_item() * this.movimentoItem.getVal_preco_unitar();
}
}
Caso vcs tem outra ideia de como fazer essa tela tb me dando dica ajuda mutio, mas to com o tempo esgotado.
Obrigado pela atenção.