关键字: struts2
除了struts2必备的jar包外还需导入下面的包:
commons-beanutils-1.7.0.jar
commons-codec-1.3.jar
commons-collections-3.1.jar
commons-digester-1.7.jar
commons-el-1.0.jar
commons-lang-2.1.jar
itext-1.4.1.jar
iTextAsian.jar
struts2-jasperreports-plugin-2.0.11.1.jar
jasperreports-3.0.0.jar
第一步是设计报表文件:用的工具是ireport,可以进行可视化设计,设计好后,保存为jrxml或xml后缀后文件以备后用。
第二步编写Action类:
第三步在WebRoot目录下建立文件夹report,将设计好的报表xml文件(MyFirstReport.jrxml)放到此目录下,在WebRoot目录下再建一个目录images,将jasperreport-3.0.0.jar包下jasperreports-3.0.0\net\sf\jasperreports\engine\images\pixel.gif文件复制到images目录下,并改名为px即可。
第四步配置struts.xml:
第五步编写JSP页面:
commons-beanutils-1.7.0.jar
commons-codec-1.3.jar
commons-collections-3.1.jar
commons-digester-1.7.jar
commons-el-1.0.jar
commons-lang-2.1.jar
itext-1.4.1.jar
iTextAsian.jar
struts2-jasperreports-plugin-2.0.11.1.jar
jasperreports-3.0.0.jar
第一步是设计报表文件:用的工具是ireport,可以进行可视化设计,设计好后,保存为jrxml或xml后缀后文件以备后用。
第二步编写Action类:
- import java.io.File;
- import java.util.List;
- import net.sf.jasperreports.engine.JasperCompileManager;
- import org.apache.struts2.ServletActionContext;
- import com.gfs.daoAction.DaoAction;
- import com.opensymphony.xwork2.ActionContext;
- import com.opensymphony.xwork2.ActionSupport;
- @SuppressWarnings("serial")
- public class ShowReport extends ActionSupport {
- @SuppressWarnings("unchecked")
- @Override
- public String execute() throws Exception {
- DaoAction dao = new DaoAction();
- reportlist = dao.queryAll();
- try {
- String reportSource;
- reportSource = ServletActionContext.getServletContext()
- .getRealPath("/report/MyFirstReport.jrxml");
- File parent = new File(reportSource).getParentFile();
- JasperCompileManager.compileReportToFile(reportSource, new File(
- parent, "MyFirstReport.jasper")
- .getAbsolutePath());
- } catch (Exception e) {
- e.printStackTrace();
- return ERROR;
- }
- return SUCCESS;
- }
- public List getReportlist() {
- return reportlist;
- }
- }
import java.io.File;
import java.util.List;
import net.sf.jasperreports.engine.JasperCompileManager;
import org.apache.struts2.ServletActionContext;
import com.gfs.daoAction.DaoAction;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("serial")
public class ShowReport extends ActionSupport {
@SuppressWarnings("unchecked")
@Override
public String execute() throws Exception {
DaoAction dao = new DaoAction();
reportlist = dao.queryAll();
try {
String reportSource;
reportSource = ServletActionContext.getServletContext()
.getRealPath("/report/MyFirstReport.jrxml");
File parent = new File(reportSource).getParentFile();
JasperCompileManager.compileReportToFile(reportSource, new File(
parent, "MyFirstReport.jasper")
.getAbsolutePath());
} catch (Exception e) {
e.printStackTrace();
return ERROR;
}
return SUCCESS;
}
public List getReportlist() {
return reportlist;
}
}
第三步在WebRoot目录下建立文件夹report,将设计好的报表xml文件(MyFirstReport.jrxml)放到此目录下,在WebRoot目录下再建一个目录images,将jasperreport-3.0.0.jar包下jasperreports-3.0.0\net\sf\jasperreports\engine\images\pixel.gif文件复制到images目录下,并改名为px即可。
第四步配置struts.xml:
- <package name="report" extends="struts-default,jasperreports-default">
- <action name="showReport" class="com.gfs.action.ShowReport">
- <result name="success" type="jasper">
- <param name="location">
- /report/MyFirstReport.jasper
- </param>
- <param name="dataSource">reportlist</param>
- </result>
- </action>
- </package>
<package name="report" extends="struts-default,jasperreports-default"> <action name="showReport" class="com.gfs.action.ShowReport"> <result name="success" type="jasper"> <param name="location"> /report/MyFirstReport.jasper </param> <param name="dataSource">reportlist</param> </result> </action> </package>
第五步编写JSP页面:
- <body>
- <s:url action="showReport" id="action" />
- <a href="<s:property value='action'/>">显示报表</a>
- </body>
<body>
<s:url action="showReport" id="action" />
<a href="<s:property value='action'/>">显示报表</a>
</body>