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);
}
}
分享到:
相关推荐
IBCO Jaspersoft Studio User Guide Jasperreport6官方文档
由于国内在Jasper官网下载Jaspersoft Studio速度过慢,故上传Jasper Studio安装包资源
TIBCO Jaspersoft® Studio 7.1官方用户指导学习教程,jaspersoft-studio-user-guide_7.1.pdf
由于国内在Jasper官网下载Jaspersoft Studio速度过慢,故上传Jasper Studio安装包资源
JasperSoft Studio_6.5.1-64位
TIBCO Jaspersoft Studio-6.10.0报表设计工具,该压缩包中包括要使用的驱动包mysql-connector-java-5.1.34.jar
Jaspersoft Studio 汉化 Jaspersoft Studio是JasperReports库和JasperReports服务器的基于Eclipse的报告设计器; 它可以作为Eclipse插件或作为独立的应用程序使用。Jaspersoft Studio允许您创建包含图表,图像,子...
使用了jaspersoft table做复杂的报表。多个传入参数,对参数的为空判断。没有加入分页之类的功能,只做了一个复杂表头的报表数据查询展示
jaspersoft studio 16.6
TIBCO Jaspersoft® Studio 6.2官方用户指导学习教程,jaspersoft-studio-user-guide_6.2.pdf
Jaspersoft Studio是一款基于eclipse的报表设计器,自5.5版本开始,Jaspersoft Studio就取代了iReport。这款软件可以创建包含图表、图片、子报表、交叉表等非常复杂的布局。可以通过JDBC、TableModels、JavaBeans、...
jaspersoft-studio-user-guide_7.1中文版 通过有道机器翻译完成 个人校对
Java调用Jaspersoft生成PDF中带有条形码,所需要的barcode4j-2.1.jar、batik-bridge-1.12.jar等必须使用包
jaspersoft_ireport_demo 还好的实例.
Jaspersoft Studio 的下载速度超慢,注册登录也很麻烦。折腾很久下载下来希望可以帮助需要的人
自定义PDF的工具,创建好pdf模板,拷贝到java里面,就可以生成固定格式的pdf,支持下载和网页浏览
关于ssm的配置及jaspersoft报表制作流程
jaspersoft+iReport+Designer+4.5.0教程
TIBCO Jaspersoft® Studio 7 官方文档教程
Jaspersoft Studio 的下载速度慢,还需要注册登录。网上找了很久,才找到这个版本