Opa galera blz?
Então, encontrei na net aqui há uma informação dizendo que dá para rodar o Struts 2 sem o arquivo xml no caso o Struts.xml, fiz como está no tutorial que encontrei, mais quando eu tento executar a action que não está mais mapeada por xml e sim diretamente dentro da classe, da a mensagem de erro dizendo que a action não está mapeada, estou usando somente os jars mostrado no tutorial mas não funfa.
O link do tutorial é [url]http://vonjuliano.wordpress.com/2010/12/07/trabalhando-com-struts-2-de-forma-simples/[/url]
abaixo minha Action:
package com.br.ACTIONS.relatorios;
import DAO.RelatoriosDAO;
import java.sql.ResultSet;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.view.JasperViewer;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.Result;
@Namespace(value = "/com.br.ACTIONS.relatorios")
public class RelatoriosAction {
private RelatoriosDAO relD;
public RelatoriosAction(){
relD = new RelatoriosDAO();
}
@Action(value = "clientePorProdutos", results = @Result(name = "success", location = "/index.jsp"))
public String clientePorProdutos(){
try {
Map parameters = new HashMap();
ResultSet rs = relD.clientesPorProduto();
JasperReport jasperReport = JasperCompileManager.compileReport("C:\\Users\\caltech\\Documents\\NetbeansProjects\\SiteClass\\arquivos\\reports\\produtosPorCliente.jrxml");
JasperPrint jasperPr = JasperFillManager.fillReport(jasperReport, parameters,new JRResultSetDataSource(rs));
JasperViewer viewer = new JasperViewer(jasperPr, false);
viewer.setExtendedState(JasperViewer.MAXIMIZED_BOTH);//maximizado
viewer.setTitle("Clientes por Produto");//titulo do relatório
viewer.setVisible(true);
} catch (JRException ex) {
Logger.getLogger(RelatoriosAction.class.getName()).log(Level.SEVERE, null, ex);
}
return "success";
}
}
Se eu mapear essa mesma Action por XML ela funciona, mais sem o XML não, alguém sabe me dizer o pode estar errado nesse meu mapeamento sem XML?
