读书人

Jaspersoft点滴记要

发布时间: 2012-11-01 11:11:32 作者: rapoo

Jaspersoft点滴记录

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 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登录的用户和权限

?

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);    }}
?

?

?

?

?

?

读书人网 >ASP

热点推荐