JasperServer
Tomcat的Cannot serialize session attribute XXX for问题
Context.xml中增加<Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false"/>用来停止保存Session资源
JasperServer的汉化
复制jasperserver\WEB-INF\bundles\jasperserver_messages.properties为jasperserver_messages_zh.properties修改里面的属性为中文后,用jdk工具native2ascii.exe进行转码
中文问题
导出pdf的时候需要将iTextAisan.jar放在lib文件夹中,然后指定PDF导出的字体
Pdf Font Name : STSong-Light
Pdf Encoding : UniGB-UCS2-H (Chinese Simplified)
导出Excel没有表头
修改WEB-INF/classes/jasperreports.properties文件,增加下面内容:
# keep the first column header on export
net.sf.jasperreports.export.xls.exclude.origin.keep.first.band.1=pageHeader
net.sf.jasperreports.export.xls.exclude.origin.keep.first.band.2=columnHeader
修改导出列表
由于导出CSV文件乱码,想将其从列表中移除,修改WEB-INF/flows/viewReportBeans.xml
编辑exporterConfigMap配置,将CSV配置注释掉就OK。
日期格式化(修改日期格式为yyyy-MM-dd格式)
1.修改jasperserver\WEB-INF\bundles\jasperserver_config.properties,这样InputControl中的日期控件的格式会做相应的更改。
2.修改jasperserver\WEB-INF\applicationContext.xml文件对configurationBean定义的日期格式,这样显示查询结果会做相应的更改
Title的更改
文件位置:jasperserver\WEB-INF\decorators\decorator.jsp,修改页面的Title标签即可
iReport
小数点设置
使用iReport的时候通常要定义变量, 并且经过一系列的计算得到最终的值。但我们需要最终的值只保留两位小数,因此需要对其进行设置。比较简单的是让它返回BigDecimal对象,在Variable Expression中这样设置:(new BigDecimal(计算公式)).setScale(2,BigDecimal.ROUND_HALF_UP)
SubReport
添加Subreport时如果需要依赖输入参数,那么需要在Mainreport中的Subreport属性面板中设置。上传到Jasperserver中主报表访问子报表需要用repo路径,如:
<subreportExpression class="java.lang.String"><![CDATA["repo:subreport"]]></subreportExpression>如果有问题可继续尝试在subreport前增加/
Web端导出Excel
在Web端展示的时候,使用的是struts2-jasperreports-plugin这样的一个插件。然而在Chrome中导出Excel的时候遇到了问题:文件的后缀不是.xls而是.action,这是由于没有对Response设置Header信息的缘故。所以需要在struts2的xml文件中指定这个插件的documentName属性。这样插件会对Response设置Header和documentName指定的文件名,文件名的后缀它会读取format指定的格式,这里是XLS。
Struts2的result信息配置如下:
<result name="exportOrdersXLS" type="jasper">
<param name="location">/jaspers/orders.jasper</param>
<param name="connection">connection</param>
<param name="reportParameters">reportParameters</param>
<param name="exportParameters">exportParameters</param>
<param name="format">XLS</param>
<param name="documentName">Orders</param>
<param name="imageServletUrl"><![CDATA[/image?image=]]></param>
</result>
iReport中获取JasperServer登录的用户和权限
In a report define the follwing parameters:
<!-- this is passed in automatically by JasperServer -->
<parameter name="LoggedInUser" class="com.jaspersoft.jasperserver.api.metadata.user.domain.User"/>
<!-- these are dependent parameters -->
<parameter name="LoggedInUserRoles" class="java.util.Collection">
<defaultValueExpression><![CDATA[$P{LoggedInUser}.getRoles()]]></defaultValueExpression>
</parameter>
<parameter name="LoggedInUserRolesAsStrings" class="java.util.Collection">
<defaultValueExpression><![CDATA[convert $P{LoggedInUserRoles} to collection of strings - Gtroovy or Java Expression, or scriptlet method call]]></defaultValueExpression>
</parameter>
<!-- use JasperReports $X to get the role name values into an IN clause -->
<queryString>
<![CDATA[select * from blah
where $X{IN, role_name, LoggedInUserRolesAsStrings} ]]>
</queryString>
国外网站给的解决方案,但是需要用scriptlet增加对权限的解析,如:
public class UserRolesScriptlet extends JRDefaultScriptlet {
public String extractAllRoles(User js_user) {
StringBuffer roles = new StringBuffer();
Iterator role_iter = js_user.getRoles().iterator();
while (role_iter.hasNext()) {
roles.append(((Role) role_iter.next()).getRoleName()+",");
}
String roles_str = roles.toString();
return roles_str.substring(0,roles_str.length()-1);
}
}
分享到:
相关推荐
《TIBCO Jaspersoft Studio 6.10.0:报表设计的高效工具》 TIBCO Jaspersoft Studio 是一款强大的报表设计工具,它为开发者提供了丰富的功能,用于创建、编辑和管理复杂的报表和可视化项目。在6.10.0版本中,这个...
** JasperSoft 6.16 免费下载详解** JasperSoft 6.16 是一款强大且功能丰富的Java报表工具,专为生成、管理和分发业务报告而设计。它基于开源项目jasperReport,提供了丰富的报表设计和分析功能,支持多种数据源,...
Jaspersoft 开发手册 Jaspersoft 是一个强大、灵活的报表生成工具,能够展示丰富的页面内容,并将之转换成 PDF,HTML,或者 XML 格式。该库完全由 Java 写成,可以用于在各种 Java 应用程序,包括 J2EE,Web 应用...
《TIBCO Jaspersoft® Studio 7.1官方用户指导学习教程》是针对TIBCO Jaspersoft Studio这一强大的报表和商业智能工具的详细学习资料。本教程以7.1版本为基准,旨在帮助用户深入理解和掌握该软件的各项功能,从而...
Jaspersoft Studio是一款强大的报表和数据可视化工具,主要用于创建、编辑和管理各类报表及仪表板。它是基于Eclipse IDE的插件,专为JasperReports设计,提供了丰富的功能,使得用户能够轻松创建复杂的自定义PDF模板...
IBCO Jaspersoft Studio User Guide Jasperreport6官方文档
由于国内在Jasper官网下载Jaspersoft Studio速度过慢,故上传Jasper Studio安装包资源
TIBCO Jaspersoft® Studio是一款开源的报表设计工具,5.2版本的官方用户指导学习教程,详细介绍了如何使用这款工具进行报表的设计、编辑、预览和导出等工作。本教程通过逐章的介绍,让用户能够熟练掌握Jaspersoft ...
Jaspersoft Studio是TIBCO Jaspersoft提供的一个强大的报表设计工具,用于创建各种报表。TIBCO Jaspersoft Studio 7官方文档是一份全面的教程,帮助用户从入门到设计复杂报表的各个阶段提供指导。以下详细知识点涵盖...
由于国内在Jasper官网下载Jaspersoft Studio速度过慢,故上传Jasper Studio安装包资源
- **支持多种数据源**:如数据库连接、Bean集合、XML记录集等。 - **灵活的报表设计**:支持普通报表、主细表、交叉报表等不同类型的报表布局。 - **多格式导出**:可以将生成的报表导出为PDF、Excel、HTML等格式。 ...
《JasperSoft Studio 6.5.1:深入解析企业级报表设计工具》 JasperSoft Studio是一款功能强大的报表设计工具,专为JasperReports库和TIBCO JasperServer设计,是开发人员创建复杂报告、仪表板和分析应用的理想选择...
Jaspersoft Studio 汉化 Jaspersoft Studio是JasperReports库和JasperReports服务器的基于Eclipse的报告设计器; 它可以作为Eclipse插件或作为独立的应用程序使用。Jaspersoft Studio允许您创建包含图表,图像,子...
《TIBCO Jaspersoft® Studio 6.2官方用户指导学习教程》是针对企业级报表和数据分析工具TIBCO Jaspersoft® Studio的一份详尽指南,旨在帮助用户掌握这款强大的报告设计和数据可视化软件的使用技巧。Jaspersoft ...
Jaspersoft Studio是一款强大的报表和数据可视化工具,它是基于Eclipse IDE的一个插件,专为设计JasperReports和iReport组件而打造。标题中的"jaspersoftstudio_6.16.0_windows_x86_64.zip"指的是该软件的6.16.0版本...
Jaspersoft Studio 7.0.0 (2024-06-21)
JasperReports与Jaspersoft Studio是两个在数据报告和BI(商业智能)领域广泛应用的工具。它们主要用于创建、设计和管理复杂的报表和数据分析视图,为业务用户提供直观的数据洞察。 **JasperReports** ...
jaspersoft-studio-user-guide_7.1中文版.docx 本文档是 Jaspersoft Studio 用户指南的中文版,版本为 7.1。该指南旨在帮助用户了解 Jaspersoft Studio 的基本概念、功能和使用方法。 在第四章中,讨论了报告要素...
Jaspersoft Studio是一款基于eclipse的报表设计器,自5.5版本开始,Jaspersoft Studio就取代了iReport。这款软件可以创建包含图表、图片、子报表、交叉表等非常复杂的布局。可以通过JDBC、TableModels、JavaBeans、...
Jaspersoft iReport Designer是TIBCO Software Inc.开发的一款强大的报表设计工具,主要用于创建复杂的商业报告和数据可视化。这个工具允许用户通过直观的图形界面设计、开发和部署各种类型的报表,包括表格、图表、...