Tenho uma classe de entidade processo.java com o atributo numeroProcesso que submeto a um bean CreateProcessBean com ViewScoped.
Ainda no começo da requisição no setNumeroProcesso da propria classe, antes de chegar no bean, o valor é perdido e fica null.
Já coloquei ApplicationScoped e RequestScoped e nada. Já tentei carregar no PostConstructor() do bean e não funciona.
A versão do JSF é 2 Mojarra.
pagina xhtml - createProcesso.xhtml
Obrigado por qualquer ajuda, segue código resumido:
Processo.java
@Entity
@Table(name = "SAPD_PROCESSO", schema = "SAPD")
@GeneratorEntityOptions(defaultLabel = "Processo", descriptionProperty = "numeroProcesso")
public class Processo extends BaseEntity<Long> {
@GeneratorFieldOptions(defaultLabel = "Número do Processo", filterable = true)
@Column(name = "NUM_PROCESSO", nullable = false, length = 10)
private String numeroProcesso;
public void setNumeroProcesso(String numeroProcesso) {
//bem nesse ponto quando o processamento volta do set perde o valor e fica null
this.numeroProcesso = numeroProcesso;
}
public Date getDataDeCadastro() {
return dataDeCadastro;
}
}
CreateProcessoBean
@Named("createProcessoBean")
@javax.enterprise.context.RequestScoped
public class CreateProcessoBean extends BaseBean {
public String save() {
if (processo.getId() == null) {
return create();
} else {
return edit();
}
}
private String create() {
LOGGER.debug("Persistindo Processo: {}", processo);
// TODO:FALTA INFORMAÇÃO DO USUÁRIO;
processo.setIdUsuario(new Long("1"));
processoService.save(processo);
addInfoMessage(BeanMessageConstants.ITEM_CREATE_SUCCESSFULLY);
processo = new Processo();
return NavigationConstants.CREATE_PROCESSO_VIEW;
}
}
createProcesso.xhtml
<div class="form-group">
<label for="numeroProcesso" class="col-sm-2 control-label">#{msgs['field.label.processo.numeroProcesso']}<span
class="required"> *</span></label>
<div class="col-sm-6">
<h:inputText styleClass="form-control center-block"
id="numeroProcesso" size="10"
value="#{createProcessoBean.processo.numeroProcesso}"
maxlength="10" disabled="#{createProcessoBean.viewMode}"
label="#{msgs['field.label.processo.numeroProcesso']}">
<tjfw:requiredValidator />
</h:inputText>
</div>
</div>
<h:commandButton id="create"
styleClass="btn btn-primary btn-size-default btn-size-default salvar"
rendered="#{!createProcessoBean.viewMode}"
value="#{msgs['button.label.salvar']}"
action="#{createProcessoBean.save}">
<p:ajax update="@(#messagesDialog)" process="@form" />
</h:commandButton>