Boa Noite,
Gostaria de uma ajuda para conseguir enviar os dados do aluno para o método geraBoleto() da classe BoletoHsbc. Ao clicar no link “Gerar Boleto” da view exibeDados.jsp ele irá gerar o pdf do boleto. A view exibeDados.jsp está trazendo a lista corretamente, no entanto não sei como enviá-la através do link para o método geraBoleto().
Muito obrigado
public class BoletoHsbc {
static int codBanco;
static Generator generator;
private String getTime() {
return new SimpleDateFormat("dd/MM/yyyy").format(Calendar.getInstance().getTime());
}
public void geraBoleto(Aluno aluno) {
JBoletoBean jBoletoBean = new JBoletoBean();
jBoletoBean.setDataDocumento(getTime());
jBoletoBean.setAceite("NÃO");
jBoletoBean.setNoDocumento(String.valueOf(aluno.getIdAluno()));
jBoletoBean.setCedente("FERBIT ENSINO DE IDIOMAS LTDA \t \t 03.655.813/0001-08");
jBoletoBean.setCedenterecibo("FERBIT ENSINO DE IDIOMAS LTDA");
jBoletoBean.setNomeSacado(aluno.getNome());
jBoletoBean.setEnderecoSacado(aluno.getEndereco());
jBoletoBean.setBairroSacado(aluno.getBairro());
jBoletoBean.setCidadeSacado("Cruzeiro");
jBoletoBean.setUfSacado(aluno.getEstado());
jBoletoBean.setCepSacado(aluno.getCep());
jBoletoBean.setCpfSacado(aluno.getCpf());
jBoletoBean.setLocalPagamento("ATE O VENCIMENTO, PREFERENCIALMENTE NO HSBC");
jBoletoBean.setLocalPagamento2("APOS O VENCIMENTO, SOMENTE NO HSBC");
jBoletoBean.setInstrucao1("");
jBoletoBean.setInstrucao2("Após o venc. cobrar valor do documento + 2% de multa e 1% a.m.juros de mora.");
jBoletoBean.setInstrucao3("A promoção dos 40% só será válida para pagamento até o dia 21/11/2011");
jBoletoBean.setInstrucao4("");
jBoletoBean.setDataVencimento("21/11/2011");
jBoletoBean.setParcela("001/001");
jBoletoBean.setCarteira("CNR");
jBoletoBean.setAgencia("3685390");
jBoletoBean.setCodCliente("36853900"); //essa parte é Ag/Cód Cedente
jBoletoBean.setNossoNumero(String.valueOf(aluno.getIdAluno()).concat(jBoletoBean.getTresUltimosNossoNumero(jBoletoBean.getNoDocumento(), jBoletoBean.getAgencia(), jBoletoBean.getDataVencimento())), 15);
jBoletoBean.setValorBoleto("14.99");
Generator generator2 = new PDFGenerator(jBoletoBean,JBoleto.HSBC);
JBoleto jBoleto = new JBoleto(generator2, jBoletoBean,JBoleto.HSBC);
jBoleto.addBoleto();
jBoleto.closeBoleto("boleto.pdf");
}
}
Alunos Controller
@Resource
public class AlunosController {
private final AlunoDAO dao;
private final Result result;
private final Validator validator;
private final AlunoWeb alunoWeb;
public AlunosController(AlunoDAO dao, Result result, Validator validator, AlunoWeb alunoWeb) {
this.dao = dao;
this.result = result;
this.validator = validator;
this.alunoWeb = alunoWeb;
}
/* Abre o formulário de login */
@Get
@Path("/acesso")
public void loginForm() {
}
/* Executa o Login */
@Post
@Path("/acesso")
public void acesso(Aluno aluno, String senha) {
Aluno carregado = dao.carrega(aluno);
alunoWeb.login(carregado);
Validacao val = new Validacao(dao, validator);
val.validaAcesso(aluno,senha);
validator.onErrorUsePageOf(AlunosController.class).loginForm();
result.redirectTo(this).exibeDados(aluno);
}
@Restrito
@Path("/exibeDados")
public List<Aluno> exibeDados(Aluno aluno) {
return dao.carregaDadosAluno(aluno);
}
@Get
@Path("/boleto")
public void geraBoleto(Aluno aluno){
BoletoHsbc hsbc = new BoletoHsbc();
hsbc.geraBoleto(aluno);
result.redirectTo(this).boletoGerado();
}
@Restrito
public void boletoGerado(){}
@Path("/logout")
public void logout() {
alunoWeb.logout();
result.redirectTo(AlunosController.class).loginForm();
}
exibeDados.jsp
<c:forEach items="${alunoList}" var="aluno">
<p><span style="font-weight: bold;">Aluno(a):</span> ${aluno.nome}</p>
<p><span style="font-weight: bold;">CPF:</span> ${aluno.cpf}</p>
<p><span style="font-weight: bold;">Endereço:</span> ${aluno.endereco}</p>
<p><span style="font-weight: bold;">Bairro:</span> ${aluno.bairro}</p>
<p><span style="font-weight: bold;">Cidade:</span> ${aluno.cidade.descricao}</p>
<p><span style="font-weight: bold;">UF:</span> ${aluno.estado}</p>
<p><span style="font-weight: bold;">CEP:</span> ${aluno.cep}</p>
</c:forEach>
<div style="padding-top:10px; padding-bottom:10px">
<!-- <form action="<c:url value="boleto"/>" method="post" />-->
<!-- <input type="submit" value="Gerar Boleto" >-->
<!-- </form>-->
<a href="<c:url value="boleto"/>">Gerar Boleto</a>
</div>