Popular um inputText JSF automaticamente

14 respostas Resolvido
adautodasilvalima

Eu preciso gravar o nome do usuário que está logado no sistema num cadastro de clientes.
Eu tenho em mãos a classe que possui o nome dele mas não sei como atribuir o nome automaticamente a um inputext do JSF.
No Delphi eu tenho a propriedade text onde eu faço CAMPO.Text := usuarioLogado;
Como eu faço isso em Java EE com JSF?
Obs.: O automatico que me refiro não é fazer o bind no campo.
Obrigado!

14 Respostas

lucciano01

`na classe controller :

private Pessoa pessoa;

//getters e setters

@PostConstruct

public void init( ) {

this.pessoa = usuarioLogado ( );

}
estou supondo que os campos do seu form apontam para o objeto pessoa na classe controller, p.ex:

< h:inputText value=#{controller.pessoa.nome} />

`

adautodasilvalima

lucciano01 eu não entendi muito bem.
Eu tenho os ManagedBeans: UsuarioBean e ClienteBean.
Meus forms de login e cliente estão apontando respectivamente para os MBs.
Pessoa que você cita é o meu ClienteBean?

lucciano01

posta os managedbeans e a pagina completa com o form que vc quer preenchido com o usuario logado

adautodasilvalima
@Model

public class LoginBean {

@Inject

private UsuarioLogadoBean usuarioLogado;

@Inject

private UsuarioDao dao;
private Usuario usuario = new Usuario();

public String efetuaLogin() {
    boolean loginValido = dao.existe(this.usuario);
    if (loginValido){
        usuarioLogado.logar(usuario);
        return "cliente?faces-redirect=true";
    } else{
        usuarioLogado.deslogar();
        this.usuario = new Usuario();
        return "login";
    }        
}

public Usuario getUsuario() {
    return this.usuario;
}

public String logout() {
    usuarioLogado.deslogar();
    this.usuario = new Usuario();
    return "login";    
}

}

//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

@Model

@Transactional

@ViewScoped

public class ClienteBean implements Serializable {

private static final long serialVersionUID = 1L;
private Cliente cliente = new Cliente();
private Long idOperadora;    
private List<Cliente> clientes;

@Inject
private ClienteDao dao;
    
public String grava() {
    if (cliente.getId() == null){
        dao.adiciona(cliente);
    } else {
        dao.atualiza(cliente);
    }
    clientes = dao.listaTodos();
    return "cliente?faces-redirect=true";
}

public void remove(Cliente cliente) {
    dao.remove(cliente);
    this.clientes = dao.listaTodos();
}

public void cancela() {
    this.cliente = new Cliente();        
}    

public void setCliente(Cliente cliente) {
    this.cliente = cliente;
}

public void setClientes(List<Cliente> clientes) {
    this.clientes = clientes;
}

public Cliente getCliente(){
    return this.cliente;
}

public Long getIdOperadora() {
    return idOperadora;
}

public void setIdOperadora(Long idOperadora) {
    this.idOperadora = idOperadora;
}
    
public List<Cliente> getClientes(){
    if (clientes == null){
        clientes = dao.listaTodos();
    }
    return clientes;
}

}

//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

<ui:composition template="/_template.xhtml">
    <ui:define name="corpo">
                    
        <h:form id="cadastro">
            <!--
            <h:messages id="mensagens" style="color:red;font:bold;margin:8px;" />                 
            <h:messages style="color:red;margin:8px;" />
            -->
            <p:messages id="messages" showDetail="false"  showSummary="true" autoUpdate="true" closable="true" /> 
            <h2>
                <h:outputText value="Novo Cliente" rendered="#{empty clienteBean.cliente.id}" />
                <h:outputText value="Editar Cliente" rendered="#{not empty clienteBean.cliente.id}" />
            </h2>
            <fieldset>                    
                <legend>Dados do Cliente</legend>
                <h:inputHidden value="#{clienteBean.cliente.id}" />
            
                <h:outputLabel value="Nome:" for="nome"  />
                <h:inputText id="nome" value="#{clienteBean.cliente.nome}" size="70" maxlength="80" tabindex="0" 
                        required="true" requiredMessage="O campo Nome é obrigatório">
                    <f:validateLength minimum="5" maximum="80"/>
                </h:inputText> 
                                    
                <h:outputLabel value="Telefone Fixo:" for="telefone_fixo" />
                <p:inputMask id="telefone_fixo" value="#{clienteBean.cliente.telefone_fixo}" mask="([telefone removido]" tabindex="1"/>
                
                <h:outputLabel value="Celular:" for="telefone_celular" />
                <p:inputMask id="telefone_celular" value="#{clienteBean.cliente.telefone_celular}" 
                                                                    mask="([telefone removido]" tabindex="2"/>
                     
                <h:outputLabel value="Operadora:" for="operadora" />
                <h:selectOneMenu id="operadora" value="#{clienteBean.cliente.operadora}" tabindex="3"> 
                    <f:selectItem itemLabel="Selecione" noSelectionOption="true"/>
                    <f:selectItems value="#{operadoraBean.operadoras}" var="operadora" 
                           itemLabel="#{operadora.descricao}" itemValue="#{operadora.id}" />
                </h:selectOneMenu>
                                                    
                <fieldset id="planos">
                    <legend>Planos:</legend>
                    <div id="plano">                            
                        <h:outputLabel value="Musculação" for="musculacao" />
                        <h:selectBooleanCheckbox id="musculacao" value="#{clienteBean.cliente.musculacao}" tabindex="4"/>
                        
                        <h:outputLabel value="MuayTai" for="muaytai" />                                                    
                        <h:selectBooleanCheckbox id="muaytai" value="#{clienteBean.cliente.muaytai}" tabindex="5"/>
                        
                        <h:outputLabel value="Jiu Jitsu" for="jiujitsu" />                                                
                        <h:selectBooleanCheckbox id="jiujitsu" value="#{clienteBean.cliente.jiujitsu}" tabindex="6"/>                            
                    </div>
                </fieldset>                        
                            
                <h:outputLabel value="Valor:" for="valor" />
                <h:inputText id="valor" value="#{clienteBean.cliente.valor}" required="true" tabindex="7"
                        requiredMessage="O campo valor é obrigatório" validatorMessage="O valor mínimo permitido são R$10,00">
                    <f:validateDoubleRange minimum="10.00" />
                    <f:convertNumber pattern="###,###.##" minFractionDigits="2"/>
                </h:inputText>

                <h:outputLabel value="Vencto.:" for="vencimento" />
                <h:selectOneMenu id="vencimento" value="#{clienteBean.cliente.vencimento}" tabindex="8"
                                                    required="true" requiredMessage="Informe o vencimento!" >
                    <f:selectItem itemValue="01" itemLabel="01"/>    <f:selectItem itemValue="02" itemLabel="02"/>
                      <f:selectItem itemValue="03" itemLabel="03"/>    <f:selectItem itemValue="04" itemLabel="04"/>
                      <f:selectItem itemValue="05" itemLabel="05"/>    <f:selectItem itemValue="06" itemLabel="06"/>
                      <f:selectItem itemValue="07" itemLabel="07"/>    <f:selectItem itemValue="08" itemLabel="08"/>
                      <f:selectItem itemValue="09" itemLabel="09"/>    <f:selectItem itemValue="10" itemLabel="10"/>
                      <f:selectItem itemValue="11" itemLabel="11"/>    <f:selectItem itemValue="12" itemLabel="12"/>
                      <f:selectItem itemValue="13" itemLabel="13"/>    <f:selectItem itemValue="14" itemLabel="14"/>
                      <f:selectItem itemValue="15" itemLabel="15"/>    <f:selectItem itemValue="16" itemLabel="16"/>
                      <f:selectItem itemValue="17" itemLabel="17"/>    <f:selectItem itemValue="18" itemLabel="18"/>
                      <f:selectItem itemValue="19" itemLabel="19"/>    <f:selectItem itemValue="20" itemLabel="20"/>
                      <f:selectItem itemValue="21" itemLabel="21"/>    <f:selectItem itemValue="22" itemLabel="22"/>
                      <f:selectItem itemValue="23" itemLabel="23"/>    <f:selectItem itemValue="24" itemLabel="24"/>
                      <f:selectItem itemValue="25" itemLabel="25"/>    <f:selectItem itemValue="26" itemLabel="26"/>
                      <f:selectItem itemValue="27" itemLabel="27"/>    <f:selectItem itemValue="28" itemLabel="28"/>
                      <f:selectItem itemValue="29" itemLabel="29"/>    <f:selectItem itemValue="30" itemLabel="30"/>
                      <f:selectItem itemValue="31" itemLabel="31"/>                  
                </h:selectOneMenu>
                                
                <h:outputLabel value="Observações:" for="observacoes" />
                <h:inputTextarea id="observacoes" value="#{clienteBean.cliente.observacoes}" maxlength="255" tabindex="9"/>

                <h:outputLabel value="Situação:" for="situacao" />
                <h:selectOneMenu id="situacao" value="#{clienteBean.cliente.situacao}" tabindex="10">
                    <f:selectItem itemValue="ATIVO" itemLabel="ATIVO" />
                    <f:selectItem itemValue="INATIVO" itemLabel="INATIVO" />
                </h:selectOneMenu>                
                
                
                <c:choose>
                    <c:when test="#{empty clienteBean.cliente.id}" >
                        Gravação
                    </c:when>
                    <c:otherwise>
                        Alteração
                    </c:otherwise>
                </c:choose>                    
                                    
                <h:panelGrid id="infoData" columns="4" columnClasses="cellGridFormLabel">
                    
                        <h:outputLabel value="Data Cadastro:" for="dat_cadastro" />
                        <h:inputText id="dat_cadastro" value="#{clienteBean.cliente.data_cadastro.time}" pattern="dd/MM/yyyy HH:mm" 
                                    style="background-color:#D3D3D3;" readonly="true">
                            <f:convertDateTime pattern="dd/MM/yyyy" timeZone="America/Sao_Paulo" />
                        </h:inputText>
                    
                        <h:outputLabel value="Data Alteração:" for="dat_altera" />
                        <h:inputText id="dat_altera" value="#{clienteBean.cliente.data_altera.time}" 
                                    style="background-color:#D3D3D3;" readonly="true">
                            <f:convertDateTime pattern="dd/MM/yyyy" timeZone="America/Sao_Paulo" />
                        </h:inputText>
                        
                </h:panelGrid>
                
                <h:panelGrid id="infoUser" columns="4" columnClasses="cellGridFormLabel">
                        <h:outputLabel value="Usuário Cadastro:" for="usr_cadastro" />
                        <h:inputText id="usr_cadastro" value="#{clienteBean.cliente.usr_cadastro}" 
                                    style="background-color:#D3D3D3;" readonly="true"> 
                                    <!--  rendered="loginBean.usuario.login"  --> 
                        </h:inputText>                                    
                        
                        <h:outputLabel value="Usuário Alteração:" for="usr_altera" />
                        <h:inputText id="usr_altera" value="#{clienteBean.cliente.usr_altera}" 
                                    style="background-color:#D3D3D3;" readonly="true" />
                        
                </h:panelGrid>

                <div class="botoes-item">
                    <div class="botoes"><h:commandButton value="Gravar" action="#{clienteBean.grava}" /></div>
                    <div class="botoes"><h:commandButton value="Cancelar" action="#{clienteBean.cancela}" imediate="true"/></div>
                </div>    
            </fieldset>
        </h:form>
        
        <h2>Listagem de Clientes</h2>
        <h:form id="listaCliente">
            <p:dataTable value="#{clienteBean.clientes}" var="cliente" styleClass="dados" rowClasses="impar,par"
                                                                                                paginator="true" rows="15">
                <p:column headerText="Nome" style="width:350px">
                    #{cliente.nome}
                </p:column>
                
                <!-- 
                 style="max-width: 450px; min-width: 450px; overflow: hidden"
                -->
                
                <p:column headerText="Vencto." style="width:40px;text-align:right;">
                    #{cliente.vencimento}
                </p:column>
                
                
                <p:column headerText="Valor" style="width:75px;text-align:right;">
                    <h:outputText value="#{cliente.valor}">
                        <f:convertNumber type="currency" currencySimbol="R$ " locale="pt_BR" />
                    </h:outputText>
                </p:column>
                <p:column headerText="Celular" style="width:100px">
                    #{cliente.telefone_celular}
                </p:column>
                <p:column headerText="Operadora" style="width:70px">
                    #{cliente.operadora}
                </p:column>
                <p:column headerText="Telefone Fixo" style="width:90px">
                    #{cliente.telefone_fixo}
                </p:column>
                <p:column headerText="Situação" style="width:50px">
                    #{cliente.situacao}
                </p:column>
                 
                <p:column headerText="Ações" style="text-align:center">                        
                    <h:commandLink action="#{clienteBean.remove(cliente)}" value="Excluir" style="color:blue"
                                                        onclick="if(!confirm('Confirma a exclusão deste Cliente?')) return false;">
                    </h:commandLink>
                    &nbsp;
                    &nbsp;    
                    <h:commandLink value="Alterar" style="color:blue">
                        <f:setPropertyActionListener value="#{cliente}" target="#{clienteBean.cliente}" />
                    </h:commandLink>                                        
                </p:column>
                
            </p:dataTable>
        </h:form>
                
    </ui:define>
</ui:composition>
adautodasilvalima

É no trecho abaixo que preciso colocar o nome que será gravado:

<h:panelGrid id=“infoUser” columns=“4” columnClasses=“cellGridFormLabel”>

<h:outputLabel value=“Usuário Cadastro:” for=“usr_cadastro” />

<h:inputText id=“usr_cadastro” value="#{clienteBean.cliente.usr_cadastro}"

style=“background-color:#D3D3D3;” readonly=“true”>



</h:inputText>
</h:panelGrid>
lucciano01

`usuarioLogado.logar(usuario);

esse método deve colocar o usuário na sessão, dessa forma vc podera pegar o usuarioLogado em qualquer managedbean, se foi validado o login vc faz isso:

FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put(“usuarioLogado”, usuario);

e pra recuperar vc faz isso

usuario = (Usuario)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get(“usuarioLogado”);

`

adautodasilvalima

Ok, lucciano01, ainda ficou uma dúvida, como eu atribuo este nome ao campo abaixo:

h:inputText id=“usr_cadastro” value="#{clienteBean.cliente.usr_cadastro}"

É neste campo que eu gravo o nome do Usuario, como estou usando JPA eu não manipulo o Insert, então,
acredito que para gravar o nome do Usuário tenho que colocar o seu nome dentro deste campo.
A não ser que tenha outro modo!

lucciano01

`Ok Adauto, quando o objeto pessoa recebe o usuario da sessão (usuarioLogado) isso siginifica que enquanto a sessão estiver aberta os valores do objeto pessoa serão setados para os valores do usuarioLogado, então se os campos do seu form estiverem recebendo os valores de pessoa eles serão automaticamento preenchidos por ex.:

h:inputText id=“usr_cadastro” value="#{clienteBean.pessoa.nome}"

nessa situação acima o input será preenchido com o nome do usuarioLogado (usuario da sessao)
no momento do carregamento do form
`

lucciano01

`
private Usuario usuario = new Usuario();

public String efetuaLogin() {

boolean loginValido = dao.existe(this.usuario);

if (loginValido){

usuarioLogado.logar(usuario);

FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put(usuarioLogado”, usuario);

return cliente?faces-redirect=true;

} else{

usuarioLogado.deslogar();

this.usuario = new Usuario();

return login;

}

}
public Usuario getUsuario() {

return this.usuario;

}
public String logout() {

usuarioLogado.deslogar();

FacesContext.getCurrentInstance().getExternalContext().getSessionMap().removet(usuarioLogado);

this.usuario = new Usuario();

return login;

}

}

lucciano01
@Model

@Transactional

@ViewScoped

public class ClienteBean implements Serializable {

private static final long serialVersionUID = 1L;
private Cliente cliente = new Cliente();

private Long idOperadora;

private List clientes;

@Inject
private ClienteDao dao;

public String grava() {

if (cliente.getId() == null){

dao.adiciona(cliente);

} else {

dao.atualiza(cliente);

}

clientes = dao.listaTodos();

return cliente?faces-redirect=true;

}
public void remove(Cliente cliente) {

dao.remove(cliente);

this.clientes = dao.listaTodos();

}
public void cancela() {

this.cliente = new Cliente();

}
public void setCliente(Cliente cliente) {

this.cliente = cliente;

}
public void setClientes(List clientes) {

this.clientes = clientes;

}
public Cliente getCliente(){

cliente = (Cliente)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get(usuarioLogado);

return this.cliente;

}
public Long getIdOperadora() {

return idOperadora;

}
public void setIdOperadora(Long idOperadora) {

this.idOperadora = idOperadora;

}
public List getClientes(){

if (clientes == null){

clientes = dao.listaTodos();

}

return clientes;

}
adautodasilvalima

Oi lucciano01!
Estou tentando usar a solução que você explicou, mas estou tento o seguinte erro:
Ao que me parece o cast dentro do getCliente() não é aceito.
Você sabe uma maneira de contornar isso?
Obrigado!

2016-03-26T18:37:35.896-0300|Advertência: PersistenceUnitInfo pulliron has transactionType RESOURCE_LOCAL and therefore jtaDataSource will be ignored

2016-03-26T18:37:35.898-0300|Informações: EclipseLink, version: Eclipse Persistence Services - 2.6.3.v20160218-180e602

2016-03-26T18:37:36.099-0300|Informações: /file:/C:/Users/Adauto/glassfish-5.0/glassfish4/glassfish/domains/domain1/eclipseApps/PullIron/WEB-INF/classes/<em>pulliron login successful

2016-03-26T18:37:36.286-0300|Detalhado: SELECT ID, LOGIN, SENHA FROM USUARIO WHERE ((LOGIN = ?) AND (SENHA = ?))

bind => [adauto, adauto]

2016-03-26T18:37:36.405-0300|Advertência: StandardWrapperValve[Faces Servlet]: Servlet.service() for servlet Faces Servlet threw exception

java.lang.ClassCastException: br.com.pulliron.modelo.Usuario cannot be cast to br.com.pulliron.modelo.Cliente

at br.com.pulliron.mb.ClienteBean.getCliente(ClienteBean.java:56)

at br.com.pulliron.mb.ClienteBean$Proxy$</em>$$<em>WeldSubclass.getCliente$$super(Unknown Source)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:497)

at org.jboss.weld.interceptor.proxy.TerminalAroundInvokeInvocationContext.proceedInternal(TerminalAroundInvokeInvocationContext.java:49)

at org.jboss.weld.interceptor.proxy.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:77)

at br.com.pulliron.tx.TransactionInterceptor.intercept(TransactionInterceptor.java:21)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:497)

at org.jboss.weld.interceptor.reader.SimpleInterceptorInvocation$SimpleMethodInvocation.invoke(SimpleInterceptorInvocation.java:74)

at org.jboss.weld.interceptor.proxy.InterceptorMethodHandler.executeAroundInvoke(InterceptorMethodHandler.java:84)

at org.jboss.weld.interceptor.proxy.InterceptorMethodHandler.executeInterception(InterceptorMethodHandler.java:72)

at org.jboss.weld.interceptor.proxy.InterceptorMethodHandler.invoke(InterceptorMethodHandler.java:56)

at org.jboss.weld.bean.proxy.CombinedInterceptorAndDecoratorStackMethodHandler.invoke(CombinedInterceptorAndDecoratorStackMethodHandler.java:79)

at org.jboss.weld.bean.proxy.CombinedInterceptorAndDecoratorStackMethodHandler.invoke(CombinedInterceptorAndDecoratorStackMethodHandler.java:68)

at br.com.pulliron.mb.ClienteBean$Proxy$</em>$$_WeldSubclass.getCliente(Unknown Source)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:497)

at javax.el.BeanELResolver.getValue(BeanELResolver.java:363)

at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)

at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)

at com.sun.el.parser.AstValue.getValue(AstValue.java:140)

at com.sun.el.parser.AstValue.getValue(AstValue.java:204)

at com.sun.el.parser.AstEmpty.getValue(AstEmpty.java:66)

at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:226)

at org.jboss.weld.el.WeldValueExpression.getValue(WeldValueExpression.java:50)

at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)

at com.sun.faces.facelets.tag.TagAttributeImpl.getObject(TagAttributeImpl.java:356)

at com.sun.faces.facelets.tag.TagAttributeImpl.getBoolean(TagAttributeImpl.java:150)

at com.sun.faces.facelets.tag.jstl.core.ChooseWhenHandler.isTestTrue(ChooseWhenHandler.java:87)

at com.sun.faces.facelets.tag.jstl.core.ChooseHandler.apply(ChooseHandler.java:104)

at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)

at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)

at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202)

at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)

at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)

at com.sun.faces.facelets.tag.ui.DefineHandler.applyDefinition(DefineHandler.java:106)

at com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:206)

at com.sun.faces.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:395)

at com.sun.faces.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:366)

at com.sun.faces.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:111)

at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)

at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)

at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202)

at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)

at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)

at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)

at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87)

at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:312)

at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:371)

at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:350)

at com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:199)

at com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:174)

at com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)

at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87)

at com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:161)

at com.sun.faces.application.view.FaceletViewHandlingStrategy.buildView(FaceletViewHandlingStrategy.java:1006)

at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:99)

at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)

at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)

at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)

at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)

at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:416)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:283)

at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)

at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)

at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206)

at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:180)

at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)

at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)

at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283)

at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)

at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132)

at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111)

at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)

at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536)

at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)

at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)

at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)

at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)

at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:591)

at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:571)

at java.lang.Thread.run(Thread.java:745)
lucciano01

`vc deve utilizar herança nas entidades p. ex.:

public class Cliente extends Usuario
`

adautodasilvalima

Oi lucciano01!
Cara, eu fui colocar extends na classe Usuario e na hora de rodar a aplicação deu vários erros.
Será que se eu mudasse a abordagem ficaria mais fácil?
Como eu passaria o nome do Usuario que está cadastrando o Cliente para o JPA/Hibernate.
O meu insert é feito a partir desta linha de código: manager.persist(cliente); no meu Cliente DAO
Eu não preciso criar nenhuma sintaxe de insert.
Você sabe como eu passaria um parametro para o insert (uma String no caso) para juntar no insert
do JPA/Hibernate?

adautodasilvalima
Solucao aceita

Bom dia pessoal!

Alguém sabe como passar o nome do Usuario que está cadastrando o Cliente para o JPA/Hibernate.
O meu insert é feito a partir desta linha de código: manager.persist(cliente); no meu Cliente DAO
Eu não preciso criar nenhuma sintaxe de insert.
Como eu passaria um parametro para o insert (uma String no caso) para juntar no insert
do JPA/Hibernate?

Criado 24 de março de 2016
Ultima resposta 29 de mar. de 2016
Respostas 14
Participantes 2