"
JSF chamar servlet
M
2 Respostas
Eu não acho que seja bizarrice não.
Eu ando meio decepcionado com alguns frameworks e pacotes de interfaces pesadas por ai.
Mas respondendo sua pergunta voce pode fazer o seguinte:
vou colocar um exemplo meu que chama o servlet ReportAnuncioTotalServlet
package br.senai.cni.bolsa.report;
import java.util.List;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.jsf.FacesContextUtils;
import br.senai.cni.bolsa.dao.LoadListDAO;
import br.senai.cni.bolsa.entity.Portal;
public class ReportAnuncioTotal {
private long idPortal;
private int ano;
private List<Portal> federacoes;
private LoadListDAO loadListDAO;
public ReportAnuncioTotal() {
loadListDAO = (LoadListDAO) FacesContextUtils.getWebApplicationContext(
FacesContext.getCurrentInstance()).getBean("loadListDAO");
}
public long getIdPortal() {
return idPortal;
}
public void setIdPortal(long idPortal) {
this.idPortal = idPortal;
}
public int getAno() {
return ano;
}
public void setAno(int ano) {
this.ano = ano;
}
public List<Portal> getFederacoes() {
federacoes = loadListDAO.loadListPortal(); // usa o bean loadList
return federacoes;
}
public void setFederacoes(List<Portal> federacoes) {
this.federacoes = federacoes;
}
public void reportCreate(ActionEvent ae){
String url = "/ReportAnuncioTotalServlet";
FacesContext context = FacesContext.getCurrentInstance();
try {
ServletContext sc = (ServletContext) context.getExternalContext().getContext();
RequestDispatcher rd = sc.getRequestDispatcher(url);
HttpServletRequest request = (HttpServletRequest)context.getExternalContext().getRequest();
HttpServletResponse response=(HttpServletResponse)context.getExternalContext().getResponse();
//parametros para geraçao do relatorio
request.setAttribute("idPortal", idPortal+"");
request.setAttribute("ano", ano+"");
rd.forward(request, response);
}catch (Exception e) {
e.printStackTrace();
}
finally{
context.responseComplete();
}
}
}
msg duplicada
Criado 12 de maio de 2009
Ultima resposta 12 de mai. de 2009
Respostas 2
Participantes 2