Bom pessoal…
A minha dúvida é como é que faço(qual a sintaxe) para recuperar os dados, em um servlet, que joguei @ManagedBean. Se precisar que seja mais claro, digam.
Amigo,
Utilizando JSF, você não precisa “pegar” os dados do Servlet, basta você criar os get/sets dos seus objetos dentro do seu managed bean que eles serão populados pelo jsf, o trabalho manual de ficar recuperando campo a campo é feito pela implementação do JSF, você se preocupa apenas em utilizar esses dados.
Abraço
E aí pessoal, alguém se habilita?
Quais pontos da resposta do guilherme_costa não foram claros o suficiente?
Entenda uma coisa, JSF é diferente de Servlets e jsps. O funcionamento é muito parecido com javaBeans.
Precisamos que você seja mais claro e identifique qual a sua dúvida, de onde ela veio e qual material está utilizando para estudar.
É isso mesmo que o amigo disse no post anterior.
Você estudou/leu sobre JSF antes de fazer essa pergunta??
Bem drsmachado, desde a postagem inicial eu estou tendo uns contra-tempos com minha maquina, tive que instalar outro windows. Então para eu postar o código necessário para a compreensão, não conseguiria pra agora, mas agradeço a intenção e no momento só o que posso dizer para que me entendam é o que já disse na primeira postagem. Obrigado.
Olha fabiocesar.ti você percebeu que que a minha dúvida é primaria e realmente eu estou iniciando com JSF, mas foi depois de estudar um bom bocado e tentar por em prática e tentar fazer um sistema que tinha feito em JSP e servlet é que me deparei com essa dúvida. Talvez vc saiba de alguma fonte, exemplo ou tutorial que possa indicar e assim solucionar por mim mesmo o problema. Mas se for preciso postar o código como já disse em um post anterior, só poderei quando meu NetBeans estiver funcionando. Mas agradeço a paciência e o tempo empenhado. Obrigado
ok, consegue postar o que já conseguiu fazer?
[quote]fabiocesar.ti
ok, consegue postar o que já conseguiu fazer?
[/quote]
Bem fabiocesar.ti vou postar o código de que já fiz:
O formulário de nome: novoCadastro.xhtml
<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html">
<head>
<title>C e C Parking Novo Cadastro</title>
</head>
<body>
<pre>
<h:form>
<h1>Cadastro Cliente:</h1>
<h2>Dados pessoais:</h2>
Nome: <h:inputText size="30" maxlength="60" value="#{cadastroJsf.name}"/>
End.: <h:inputText size="30" maxlength="60" value="#{cadastroJsf.endereco}"/>
RG: <h:inputText size="30" maxlength="10" value="#{cadastroJsf.rg}"/>
CPF: <h:inputText size="30" maxlength="11" value="#{cadastroJsf.cpf}"/>
Tel. Res.: <h:inputText size="30" maxlength="60" value="#{cadastroJsf.telRes}"/>
Tel. Com.: <h:inputText size="30" maxlength="60" value="#{cadastroJsf.telCom}"/>
Cel.: <h:inputText size="30" maxlength="60" value="#{cadastroJsf.cel}"/>
Venc.: <h:inputText size="30" maxlength="60" value="#{cadastroJsf.venc}"/>
Box: <h:inputText size="30" maxlength="60" value="#{cadastroJsf.box}"/>
Num. Controles:<h:inputText size="30" maxlength="60" value="#{cadastroJsf.numControle}"/>
Num. Chaves: <h:inputText size="30" maxlength="60" value="#{cadastroJsf.numChave}"/>
<br/>
<h:commandButton action="cadastro.servlet" value="OK"/><input type="reset" value="Limpar" tabindex="4" />
<a href="preCadastro.xhtml">Voltar</a> <a href="index.xhtml">Voltar ao Menu</a>
</h:form>
</pre>
</body>
</html>
o managedBean e os javaBeans de nome: CadastroJsf.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package br.com.view;
import java.util.Date;
import javax.faces.bean.ManagedBean;
/**
*
* @author Juliano
*/
@ManagedBean (name="cadastroJsf")
public class CadastroJsf {
private String name;
private String endereco;
private String rg;
private String cpf;
private String telRes;
private String telCom;
private String cel;
private Date venc;
private String box;
private String numControle;
private String numChave;
public String getBox() {
return box;
}
public void setBox(String box) {
this.box = box;
}
public String getCel() {
return cel;
}
public void setCel(String cel) {
this.cel = cel;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getNumChave() {
return numChave;
}
public void setNumChave(String numChave) {
this.numChave = numChave;
}
public String getNumControle() {
return numControle;
}
public void setNumControle(String numControle) {
this.numControle = numControle;
}
public String getRg() {
return rg;
}
public void setRg(String rg) {
this.rg = rg;
}
public String getTelCom() {
return telCom;
}
public void setTelCom(String telCom) {
this.telCom = telCom;
}
public String getTelRes() {
return telRes;
}
public void setTelRes(String telRes) {
this.telRes = telRes;
}
public Date getVenc() {
return venc;
}
public void setVenc(Date venc) {
this.venc = venc;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
}
e o servlet que chamei de: CadastroServlet.java que vai fazer e meio de campo com o DAO
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package br.com.controler;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author Juliano
*/
public class CadastroServlet extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
String nome = request.getParameter("#{}");
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP
* <code>GET</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Handles the HTTP
* <code>POST</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Returns a short description of the servlet.
*
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
A minha pergunta é qual a sintaxe ou o código, como achar melhor, que faria esse meio de campo entre o managedBean que recebeu os dados do formulário e o DAO que vai fazer a persistência no banco. Esta parte os tutoriais não tratam, geralmente é só falam das conversas entre as paginas jsf e managedBean. Se souber a reposta ou se souber de um material que fale deste assunto e possa indicar, seria muito grato.
[]´s e até mais…
Boa noite Juliano.
Bom, vamos aos poucos.
Primeiro: Esquece os servlets, JSF funciona de uma maneira diferente.
Segundo: Já ouviu/leu sobre o padão de projeto MVC(Model, View, Controller)?
Terceiro: Já ouviu/leu sobre Hibernate ou outro framework de persistência?
Abraço