- 浏览: 188904 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
wangzhiangtony:
401的原因是,DrepositoryId这个配置的id跟你m ...
如何在本地库和私服中添加第三方的jar包 -
lily_better:
用到了,很好!谢谢~
用Java程序实现文件夹的复制 -
星夜的遐想:
dota_nec 写道以上都运行成功了,但是客户端怎么调用呢, ...
Tomcat 发布基于JAX-WS的项目流程小案例 -
dota_nec:
dota_nec 写道以上都运行成功了,但是客户端怎么调用呢, ...
Tomcat 发布基于JAX-WS的项目流程小案例 -
dota_nec:
以上都运行成功了,但是客户端怎么调用呢,请指教
Tomcat 发布基于JAX-WS的项目流程小案例
要在Eclipse中开发CR报表,我首先要下载CR报表的插件Crystal Report for Eclipse Edition1.0(CR4E)
下载地址为
选择其中的手动下载(Manual Installation)大概50多M的样子。
下载好后,和安装其他的插件一样,如果没有问题的话,我们就可以在Eclipse的项目新建中看到
Create a Crystal Reports web project这个选项了,
我们选择新建一个Crystal Reports web project项目,取名为TestCR,新建完成后,项目需要jar包都会自动添加到lib目录下面。因为要涉及到数据的链接我可以自己添加相应的数据库驱动jar包。这里我添加的是SQL Server2005的jar包。
本文主要简单介绍下,如何从test数据库中student表中数据查询出来,在报表中显示出来。
因为数据来自于数据库,因此建立一个链接数据库的类:DBConn.java
package com.lyl.utils; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DBConn { public static final String USERNAME="sa"; private static final String PASSWORD="123"; private static final String CONNECTION_URL = "jdbc:sqlserver://localhost:1433;databaseName=test"; private static Connection conn=null; /** * 准备一个本地线程池(为了装连接) */ private static ThreadLocal<Connection> t=new ThreadLocal<Connection>(); static{ try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static Connection getConn(){ //先从连接池里面拿 conn=t.get(); try { if(conn==null) { conn=DriverManager.getConnection(CONNECTION_URL, USERNAME, PASSWORD); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return conn; } public static void closeConn(){ conn=t.get(); try { if(conn!=null&& !conn.isClosed()){ conn.close(); //清空关闭的连接 t.set(null); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
其次,建立一个操作数据库的DAO类,StudentDao.java
package com.lyl.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; import com.lyl.entity.Student; import com.lyl.utils.DBConn; public class StudentDao { public List<Student> queryAll() { Connection conn=null; PreparedStatement pst=null; List<Student> studentList=new ArrayList<Student>(); String sql="select stu.sid,stu.sname,stu.age,stu.cardid,stu.tid from dbo.Student stu"; conn=DBConn.getConn(); try { pst=conn.prepareStatement(sql); ResultSet rs=pst.executeQuery(); Student stu=null; while(rs.next()) { stu=new Student(); stu.setSid(rs.getInt("sid")); stu.setSname(rs.getString("sname")); stu.setAge(rs.getInt("age")); stu.setTid(rs.getInt("tid")); stu.setCardid(rs.getString("cardid")); studentList.add(stu); } } catch (Exception e) { DBConn.closeConn(); e.printStackTrace(); } finally{ DBConn.closeConn(); } return studentList; } }
和数据库表对应的实体类Student.java
package com.lyl.entity; public class Student { private int sid; private String sname; private int age; private String cardid; private int tid; public int getSid() { return sid; } public void setSid(int sid) { this.sid = sid; } public String getSname() { return sname; } public void setSname(String sname) { this.sname = sname; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getCardid() { return cardid; } public void setCardid(String cardid) { this.cardid = cardid; } public int getTid() { return tid; } public void setTid(int tid) { this.tid = tid; } }
以上全多做好后,下面的才是关键,如何与报表关联。
首先,我们可以通过,首先我们需要一个空白的报表文件,此时项目中应该在新建的时候就自动生成了一个报表文件CrystalReport1.rpt和一个CrystalReport-viewer.jsp的jsp文件,因此我们不需要新建了,可以直接用。
1、打开报表,可以看到报表中有Layout(布局),Formulas(计算公式),Data(数据),Preview(预览),Crystal Report Community等几种视图,我么打开Data视图。
2、在项目资源管理其中,选中java视图,找到要在报表显示的数据对于的实体。这里是student.java,选中student.java前面的图标,拉倒报表视图中,此时我们可以看到Student的各个字段都在报表中,选中要显示是字段,右键——insert,这时我们打Layout视图中可以看到对应的字段了,有必要调整下布局。
3、在CrystalReport-viewer.jsp添加一下代码。
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <%@ taglib uri="/crystal-tags-reportviewer.tld" prefix="crviewer" %> <crviewer:viewer reportSourceType="reportingComponent" viewerName="Report1-viewer" reportSourceVar="Report1" isOwnPage="true"> <crviewer:report reportName="Report1.rpt" /> </crviewer:viewer> <%//Crystal Java Reporting Component (JRC) imports.%> <%-- jrcerom.jar--%> <%@page import="com.crystaldecisions.sdk.occa.report.application.*" %> <%-- rascore.jar--%> <%@page import="com.crystaldecisions.sdk.occa.report.lib.*" %> <%@page import="com.businessobjects.samples.*,java.util.*" %> <%@page import="com.lyl.dao.StudentDao,com.lyl.entity.Student" %> <% //水晶报表的位置 final String REPORT_NAME = "CrystalReport1.rpt"; %> <% String className="com.lyl.entity.Student"; String tableAlias="student"; ReportClientDocument reportDocument=new ReportClientDocument(); reportDocument.open(REPORT_NAME, 0); StudentDao stuDao=new StudentDao(); List<Student> stuList =stuDao.queryAll(); CRJavaHelper.passPOJO(reportDocument,stuList,className,tableAlias,""); %>
4、启动Tomcate,运行CrystalReport-viewer.jsp,将可以看到所有的学生信息都会在报表中显示了。
发表评论
-
为了eclipse支持jdk8
2017-07-17 00:20 18051、此文只是记录现有eclipse-jee-kepler-S ... -
RedHat Linux 修改root用户的密码
2016-05-02 18:10 18251、在虚拟中安装了小红帽的Linux系统安装过程中,只是有一 ... -
Maven构建多模块项目
2015-12-09 12:19 2793在使用Maven进行项目开 ... -
Maven构建的web项目无法使用EL表达式
2015-12-01 13:46 1002默认maven构造的web项目为2.3,这时在页面使用EL ... -
Hibernate中将HQL转换成SQL的方法
2015-11-09 18:46 2982public String hql2Sql(String h ... -
jquery easyui 'rowspan'
2015-06-03 16:24 992网页错误详细信息 用户代理: Mozilla/4.0 ... -
本地项目调试找不到源码 source not found
2015-05-24 11:42 699项目开发过程中,在代码中设置了断点,并启用的debug模式 ... -
Unable to locate Spring NamespaceHandler for XML schema namespace
2015-04-02 10:44 609Unable to locate Spring Names ... -
Tomcat项目的创建
2015-03-19 11:44 503以往建立web项目的时候,都习惯性的选择dynamic ... -
svn管理项目中提交强加注释
2014-09-24 14:22 660在SVN管理的项目中,为记录修改代码的原因很有必要,因此在 ... -
weblogic 生产模式和开发模式的表面差异
2014-09-18 16:20 9381、控制台页面差异,生产模式有锁定,激活选项,开发环境没有 ... -
在weblogic的一个domain新建一个server
2014-09-17 17:12 1441weblogic中,在一个domain下,我们可以新建 ... -
myeclipse 6.5 集成weblogic开发
2014-09-17 16:27 949下面以weblogic 10.3版本 ... -
PermGen space 内存溢出解决方案
2014-06-11 09:51 559在WEB开发过程中,特别是集成了大量的框架后,一不小心很容 ... -
Apache和Tomcat集群测试案例
2014-06-10 16:18 1059上一篇也简单介绍了如何配置集群环境,下面来测试结果: ... -
Tomcat项目映射
2014-06-10 13:04 746平时用eclipse开发web过程中一般都是切换到serv ... -
Apache+Tomcat集群环境配置
2014-06-09 18:48 917一、web开发中,为什么需要tomcat集群,我个人认为有 ... -
中文乱码问题小结
2014-05-19 17:28 615做web开发,遇见乱码肯定是很正常的事 如每次都等到 ... -
Freemarker 中文乱码问题解决方案
2014-05-13 22:23 8423为保证Freemarker中文乱码问题配置有三: ... -
SpringMVC配置多视图配置的优先级别问题
2014-05-11 23:14 940在使用springmvc集成jsp和freemarker时 ...
相关推荐
### 在Eclipse中配置水晶报表插件的知识点详解 #### 一、水晶报表插件简介 水晶报表(Crystal Reports)是一款强大的报表设计工具,能够帮助开发者轻松地在应用程序中集成各种复杂的报表。它支持多种数据源,并能...
无论是初学者还是经验丰富的开发者,都能够利用Eclipse及其丰富的插件生态系统来提高开发效率。对于希望深入了解Eclipse插件开发的读者来说,《Eclipse插件开发指南》是一本不可多得的好书,它详细介绍了Eclipse插件...
在这些工作中,插件开发人员需与Eclipse模型层进行交互,通过操作模型来反映用户界面的变化。 此外,Eclipse插件开发还需要熟悉Eclipse服务层(Service Layer)和命令框架(Command Framework)。服务层是Eclipse...
在本节中,我们将探讨Eclipse代码生成器插件开发的相关知识点。 一、插件开发基本概念 在Eclipse中,插件是一种可以扩展Eclipse功能的组件。插件可以提供新的功能、视图、编辑器等。要开发Eclipse插件,需要了解...
Eclipse是一款广泛使用的开源集成开发环境(IDE),其...通过深入学习和实践Eclipse插件开发教程PPT中的内容,开发者不仅可以提升自身技能,还能更好地利用Eclipse平台满足特定开发需求,实现个性化和高效的开发环境。
在这一篇中,你将学习到Eclipse插件开发的基础知识,包括: 1. 插件体系结构:理解Eclipse的插件模型,如何通过插件来构建可扩展的应用。 2. OSGi框架:Eclipse基于OSGi运行,了解OSGi的概念和它在插件中的作用。 3....
在IT行业中,Eclipse是一款广泛使用的开源集成开发环境(IDE),尤其在Java...而"plugins"这个文件可能包含了安装这些插件的步骤或配置信息,阅读"说明.txt"文件将进一步指导用户如何在Eclipse中有效地利用这些插件。
通过上述知识点,我们可以看出"NC_eclipse开发插件"是Eclipse生态中的一个重要组成部分,它提升了开发者在Eclipse中进行NC开发的效率和体验。如果你是一名NC开发者,使用这款插件将大大增强你的开发环境,并使你能够...
在 Eclipse 中开发 Derby 插件不仅能够扩展 Eclipse 的功能,还能够更好地利用 Derby 数据库的能力。接下来将介绍 Derby 插件开发的一些基础知识。 ##### (一)开发环境搭建 1. **安装 Eclipse for Java ...
书中详细讲解了Eclipse插件的生命周期、插件结构、插件依赖关系以及如何使用Eclipse的Plug-in Development Environment (PDE)工具进行开发。 2. **Java**: Java作为Eclipse插件开发的基础语言,开发者需要掌握...
6. 测试插件:在开发过程中不断测试插件以确保其正常工作。 7. 打包和部署:将插件打包成可分发的格式(如JAR文件),并部署到Eclipse中。 8. 文档编写:为了使其他开发者或用户能够使用插件,编写清晰的文档是...
在Eclipse中,插件通过`plugin.xml`文件与内核进行交互,这个文件定义了插件的各种扩展点(extension points),就像大宅子的门,提供了进入和退出的途径。插件开发者需要了解并利用这些扩展点来实现特定功能。尽管...
4. **插件集成**:将NC的Eclipse开发插件集成到Eclipse中,通常需要按照一定的步骤进行配置,包括安装插件、导入项目、设置开发环境等。这样,开发者就可以在熟悉的Eclipse环境中进行NC相关的编码工作。 5. **开发...
Eclipse插件开发系列主要涉及的是如何利用Eclipse平台进行扩展和定制,使其满足特定的开发需求。Eclipse作为一个开放源代码的集成开发环境(IDE),具有强大的可扩展性,其核心架构支持通过插件机制来增加新功能或...
本书第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等...本书内容全面,讲解仔细,不仅适合没有Eclipse平台技术基础的相关人士,也适合了解相关技术、具有一定插件开发能力的读者。
标题中的"使用Eclipse插件开发环境构建模板"是指在Eclipse中开发自定义模板,这些模板能够帮助开发者快速生成常见的代码片段或项目结构,从而节省手动编写的时间。模板系统是Eclipse IDE的一大特色,允许用户定制...
Eclipse是一款广泛使用的开源集成开发环境(IDE),尤其在Java开发者中非常流行。Eclipse的灵活性和可扩展性主要体现在其强大的插件系统上。Eclipse插件开发是为这个平台添加新功能或定制工作环境的关键技术。以下将...
### Eclipse 插件开发指南:深入理解与实践 #### 一、Eclipse平台概览 **1.1 Eclipse的历史** Eclipse项目起源于IBM,在2001年11月...无论是初学者还是经验丰富的开发者,都能在Eclipse插件开发中找到乐趣和价值。
Eclipse提供了内置的Equinox运行时环境,允许你在开发环境中直接测试插件功能。 七、插件打包与部署 完成开发后,可以使用PDE工具将插件打包成可安装的插件文件(.jar或.update-site),然后在其他Eclipse实例上...