Após implementar um validação utilizando o Vraptor do tipo Estilo fluente, observei que a resposta do erro na minha view era retornada com “???” antes e depois da minha mensagem de erro.
Segue código do validator e da view.
Validator:
@Path("/capacityReport")
public Download capacityReport(final Integer mes, final Integer ano, String omsName) throws Exception {
validator.checking(new Validations() {
{
that(mes != null && mes > 0 && mes <= 12, "erro", "Mês deve ser maior que 0 e menor ou igual a 12");
}
});
validator.checking(new Validations() {
{
that(ano != null, "erro", "Preencha o ano corretamente.");
}
});
validator.onErrorUse(logic()).forwardTo(GenericController.class).capacityIndicator();
final HibernateRequest hRequest = new CapacityIndicatorRequest(mes, ano);
final List<CapacityIndicatorReport> result = new ArrayList<CapacityIndicatorReport>();
RequestObject request = new RequestObject();
request.setRequestObject(hRequest);
request.setBoName(ConfigBean.getInstance().getOmsName());
request.setOmsTarget(omsName);
request.setType(RequestType.DATABASE);
RequestReponseHandler.getInstance().sendRequest(request, new ClientResponseCallback() {
@Override
public void onResponseReceived(Object response) {
if (response != null && response instanceof List)
result.addAll((List<CapacityIndicatorReport>) response);
monitor.release();
}
});
if (!ConfigBean.getInstance().isUseDatabase() && !ConfigBean.getInstance().getOmsName().equals(omsName)) {
monitor.acquire();
}
validator.checking(new Validations() {
{
that(result.size() > 0, "erro", "Não foi encontrado nenhum registro.");
}
});
validator.onErrorUse(logic()).forwardTo(GenericController.class).capacityIndicator();
JRDataSource ds = new JRBeanCollectionDataSource(result);
JasperReport report = (JasperReport) JRLoader.loadObject(servletContext.getRealPath("/WEB-INF/report/CapacityIndicator.jasper"));
JasperPrint print = JasperFillManager.fillReport(report, null, ds);
byte[] resp = JasperExportManager.exportReportToPdf(print);
InputStream in = new ByteArrayInputStream(resp);
return new InputStreamDownload(in, "application/pdf", "report.pdf");
}
View:
<h3>Capacity Indicator</h3>
<div class="errrors">
<ul>
<c:forEach var="error" items="${errors}">
<li>${error.message}</li>
</c:forEach>
</ul>
</div>
Erro: aparecendo interrogação antes e depois da mensagem
[URL=http://img7.imageshack.us/i/xdv.jpg/]
[/URL]
Alguem tem alguma idéia do que pode estar acontecendo?