struts2 + hibernate3 + jasper-report 5.0 ----- 得到空白报告

2024-01-01

我创建了一个应用程序,它使用 jasper report 5.0、struts2 和 hibernate 打印报告。 jasper报告使用hql。 该应用程序工作正常,但问题是我得到空白报告在浏览器中,当我触发 struts 操作时,但是当我在 netbeans 中预览报告时,我收到带有数据的报告。

谁能告诉我一些解决方案。

当报表单独运行时

通过struts2 + hibernate生成相同报告时的空白报告

我的代码如下所示

struts.xml

<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

<package name="default" extends="struts-default,jasperreports-default">
<result-types>
     <result-type name="jasper" class="org.apache.struts2.views.jasperreports.JasperReportsResult" />
</result-types>

<action name="getpdf" class="commonpackage.HibernateClass" method="getpdf">
    <result name="success" type="jasper">
        <param name="location">/Reports_HSE/sample.jasper</param>
        <param name="dataSource">myList</param>
        <param name="format">PDF</param>
    </result>
</action>

    </package>
</struts>

HibernateClass.java

public class HibernateClass {

private List<PeopleBean> myList;
Session session;
SessionFactory sessionFactory;

public String getpdf()
{
    String dest = ServletActionContext.getServletContext().getRealPath("/Reports_HSE/sample.jasper");
    session = createSession();

    Map parameterMap = new HashMap();
    parameterMap.put(
        JRHibernateQueryExecuterFactory.PARAMETER_HIBERNATE_SESSION, session);


    try
    {
      System.out.println("Filling report...");
      JasperFillManager.fillReportToFile(dest, parameterMap);
      System.out.println("Done!");
      return "success";
    }
    catch (JRException e)
    {
      System.out.println("There was an error filling the report.");
      e.printStackTrace();
      return "error";
    }      
}
    public List getMyList() {
        return myList;
    }

  private Session createSession()
  {
    SessionFactory sessionFactory = new Configuration().configure()
        .buildSessionFactory();
    return sessionFactory.openSession();
  }

}

样本.jrxml

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="HibernateQueryDemoReport" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="30" bottomMargin="30" uuid="398cbfdc-5535-4373-bd84-38d1f6d0e677">
    <property name="ireport.zoom" value="1.0"/>
    <property name="ireport.x" value="0"/>
    <property name="ireport.y" value="0"/>
    <parameter name="countryCode" class="java.lang.String"/>
    <queryString language="hql">
        <![CDATA[FROM DepartmentMaster]]>
    </queryString>
    <field name="id" class="java.lang.Integer"/>
    <field name="abcCode1" class="java.lang.String"/>
    <field name="abcCode2" class="java.lang.String"/>
    <field name="deptCode" class="java.lang.String"/>
    <field name="deptName" class="java.lang.String"/>
    <field name="status" class="java.lang.String"/>
    <field name="createdDate" class="java.util.Date"/>
    <field name="modifiedDate" class="java.util.Date"/>
    <title>
        <band height="30" splitType="Stretch">
            <textField>
                <reportElement uuid="7c7dd6c2-fb3d-4540-a37d-9c7038a1c5ea" x="0" y="0" width="555" height="30"/>
                <textElement/>
                <textFieldExpression><![CDATA["Aircraft Registered in Country Code: " ]]></textFieldExpression>
            </textField>
        </band>
    </title>
    <pageHeader>
        <band height="30" splitType="Stretch">
            <staticText>
                <reportElement uuid="5bd34faa-d13d-4ac0-ab94-c86bc8950920" x="0" y="0" width="100" height="30"/>
                <textElement/>
                <text><![CDATA[
                    Tail Number
                ]]></text>
            </staticText>
            <staticText>
                <reportElement uuid="456f1a7f-7255-4bcc-90ef-1673152ec19d" x="100" y="0" width="100" height="30"/>
                <textElement/>
                <text><![CDATA[
                    Serial Number
                ]]></text>
            </staticText>
            <staticText>
                <reportElement uuid="84e80378-0e25-4d15-acd5-d368feda4982" x="200" y="0" width="100" height="30"/>
                <textElement/>
                <text><![CDATA[
                    Year Built
                ]]></text>
            </staticText>
        </band>
    </pageHeader>
    <detail>
        <band height="30" splitType="Stretch">
            <textField>
                <reportElement uuid="5cef4310-14c8-4b6b-9204-99e2fcbfae15" x="0" y="0" width="100" height="30"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{id}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement uuid="52648e98-f0cd-4f21-9f2d-2f9db2429fb4" x="100" y="0" width="100" height="30"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{deptName}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement uuid="533185fe-64cf-4839-b0f8-05fbeb2b5fe9" x="200" y="0" width="100" height="30"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{deptCode}]]></textFieldExpression>
            </textField>
        </band>
    </detail>
</jasperReport>

的结果

JasperFillManager.fillReportToFile(dest, parameterMap);

是带文件名的字符串。该文件包含 jrPrint 对象。

如果您不使用此文件,如何查看执行报告的结果?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

struts2 + hibernate3 + jasper-report 5.0 ----- 得到空白报告 的相关文章

  • Java 读取大文本文件时出现 OutOfMemoryError

    我是 Java 新手 正在读取非常大的文件 需要一些帮助来理解问题并解决它 我们有一些遗留代码 必须对其进行优化才能正常运行 文件大小仅在 10mb 到 10gb 之间变化 只有当文件开始大小超过 800mb 时才会出现启动问题 Input
  • 在命令行java中突出显示文本[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一项任务是重新创建 unix cal 程序 除了一部分之外 相当简单 今天 它突出显示了该数字 我不知道该怎么做 关于如何在 Ja
  • JavaFX 2.0 FXML 子窗口

    经过多次搜索我发现了这个问题如何创建 javafx 2 0 应用程序 MDI https stackoverflow com questions 10915388 how to create a javafx 2 0 application
  • 尝试获取屏幕上绘制的每个随机圆圈的 x、y 坐标

    您好 我正在制作一款游戏 该游戏将在屏幕上创建随机圆圈 随机创建的圆圈的值为红色或绿色 我的问题是 我希望不仅能够确定用户何时单击其中一个圆圈 而且还能够确定他们最终单击的圆圈 红色或绿色 下面是我的代码 我的主要问题是试图找到将要绘制的圆
  • JTextField 和 JTextArea

    JTextField 和 JTextArea 有什么不同 是否可以在一个班级中使用这两个班级 总之 JTextField 是单行文本字段 而 JTextArea 可以跨越多行 文档中清楚地解释了这些差异 文本区 http docs orac
  • java中的单链表和双向链表?

    在java中 哪个集合接口可以有效地实现单链表和双向链表 请问代码示例吗 毫不奇怪 实现双向链表的正确接口是 LinkedList 看Java文档 http docs oracle com javase 8 docs api java ut
  • 使用 JAX-WS 的 WebLogic 中没有模式导入的单个 WSDL

    如何使用 JAX WS 配置由 WebLogic 10 3 6 生成的 Web 服务 以将对象架构包含在单个 WSDL 文件声明 而不是导入声明 中 示例代码 界面 import javax ejb Local Local public i
  • 当 JMS Prod 位于辅助 POJO 类中时,如何在事务中包含 JMS Producer

    简短的问题 有没有办法强制无状态 EJB 调用的 POJO 存在于 EJB 的上下文中 以便事务和资源注入可以在 POJO 中工作 具体来说 在我想要做的事情的上下文中 如何在 EJB 的事务中包含 POJO JMS 生产者 该生产者在调用
  • 每行有多个系列的图表

    我正在尝试做一个iReport与此表的图表 name totalcalls handled abandoned rejected customerservice 300 100 100 100 itsupport 500 300 100 1
  • 从 Android 访问云存储

    我一直无法找到任何有关如何从 Android 应用程序使用云存储的具体文档 我确实遇到过这个客户端库 https cloud google com storage docs reference libraries然而 Google Clou
  • 多线程——更快的方法?

    我有一堂有吸气剂的课程getInt 和一个二传手setInt 在某个领域 比如说领域 Integer Int 一个类的一个对象 比如说SomeClass The setInt 这里是同步的 getInt isn t 我正在更新的值Int来自
  • 使用 HTTPServletRequestWrapper 包装请求参数

    我有一个可以验证 授权 REST 调用的过滤器 该过滤器需要访问请求参数 因此我为此编写了一个自定义 HTTPServletRequestWrapper import java util Collections import java ut
  • 配置jmxremote时无法正常停止tomcat

    我添加了一个jmxremotecatalina bat中的配置 set JAVA OPTS Dcom sun management jmxremote port 9004 Dcom sun management jmxremote ssl
  • java swing:向 JTree 项目添加自定义图形按钮

    我想在 JTree 中的项目右侧添加一个带有小图标的附加按钮 这可以做到吗 如果是这样 怎么办 thanks Clamp 你在这方面成功了吗 我想做同样的事情 但很难让 JButton 响应用户 设置渲染器以显示按钮的过程很顺利 但所有鼠标
  • android 中的 java.net.URL ..新手问题

    我是java新手 正在尝试android开发 以下代码生成 malformedURLException 有人可以帮助我识别异常吗 任何提示都会非常有帮助 package com example helloandroid import and
  • CXF:通过 SOAP 发送对象时如何排除某些属性?

    我使用 Apache CXF 2 4 2 当我将数据库中的某个对象返回给用户时 我想排除一些属性 例如密码 我怎样才能做到这一点无需创建临时的班级 有这方面的注释吗 根据 tomasz nurkiewicz 评论我应该使用 XmlTrans
  • 如何使用 JasperReports (6.*) 解决 LinkageError?

    例如我们有 net sf jasperreports engine JRException Caused by net sf jasperreports engine fill JRExpressionEvalException Error
  • java.lang.ClassCastException:com.sun.proxy.$Proxy8 无法转换为 org.openqa.selenium.internal.WrapsDriver

    我有以下切入点和 AspectJ 中给出的建议 Pointcut call org openqa selenium WebElement sendKeys public void onWebElementAction After onWeb
  • 你能快速告诉我这个伪代码是否有意义吗?

    我相信我的代码现在是万无一失的 我现在将写出伪代码 但我确实有一个问题 为什么 DRJava 要求我返回 if 语句之外的内容 正如你所看到的 我为 ex 写了 return 1 只是因为它问了 但是它永远不会返回该值 谁可以给我解释一下这
  • 使用 AmazonSNSClient 发送短信时的授权

    aws 官方文档如何发送短信 http docs aws amazon com sns latest dg sms publish to phone html使用 java 中的 aws SDK 非常简单 但是 当发送如底部示例所示的消息时

随机推荐

  • 我想将 std::string 转换为 const wchar_t *

    有什么方法吗 我的电脑是AMD64 std string str BOOL loadU const wchar t lpszPathName int flag 0 当我使用时 loadU str VS2005编译器说 Error 7 err
  • 将 Word/PDF 文档从文件系统索引到 SQL Server

    我正在尝试为我遇到的问题提出一个简单的解决方案 因为到目前为止我发现的所有这些似乎都太复杂了 情况是我们使用专有应用程序来管理我们业务的大部分方面 它有一个SQL Server 2005后端数据库 该数据库相当大 该应用程序还允许将 Wor
  • MS Word 插件:右键单击处理程序

    我正在为 MS Word 2010 开发一个插件 我想向右键菜单添加几个菜单项 仅当选择某些文本时 我看过几个添加项目的示例 但找不到如何有条件地添加项目 简而言之 我想重写诸如 OnRightClick 处理程序之类的东西 提前致谢 这很
  • 如何在 NextJs 中导航到另一个页面而不重新加载整个页面?

    我注意到在 NextJs 中 每当我点击要转到另一个页面 它会调用getInitialProps即使 另一个 页面是同一页面 例如 关于 profile页面有 2 个组件 一个用于 用户信息 另一个用于分页的 订单列表 组件 用户信息 和
  • RegisterWithContext 和生活方式不匹配

    我想将记录器注入到我的控制器中 并且需要将扩展 信息传递给记录器的构造函数 为了我使用的目的RegisterWithContext container RegisterWithContext
  • mysqldump 区分大小写的问题?操作系统->Linux

    当我使用 mysqldump 转储包含大写字母的表时 它在我的 gt dump sql 文件中显示为小写 我在2006年在这里发现了一份报告 差不多4年了http bugs mysql com bug php id 19967 http b
  • 获取所有下义词的完整列表[重复]

    这个问题在这里已经有答案了 有什么方法可以获得与单个单词相关的下位词的完整列表吗 relative wordnet synsets relative pos n 0 hyponyms lemma name for synset in rel
  • numpy/python 中的 Floodfill 分割图像

    我有一个 numpy 数组 它表示图像中分段的二维矩阵 基本上 它是一个稀疏矩阵 具有一堆闭合形状 这些形状是图像片段的轮廓 我需要做的是用 numpy 中的不同颜色 标签对每个闭合形状内的空像素进行着色 我知道我可以使用 PIL 中的洪水
  • 通过FlexibleInstances“重载”可以返回不同的类型,或者匹配类型类吗?

    我很好奇 Haskell 的类型类可以通过 FlexibleInstances 完成什么样的 重载 作为一个简单的测试 这里是一个调整器类型数据类型的例子 它定义了一个adjust根据是否包含整数或双精度值 将为其值添加不同金额的操作 LA
  • MongoDB 聚合框架 - 如何按日期范围、按天分组以及每天返回平均值进行匹配?

    我刚刚学习 MongoDB 的聚合框架 我想知道是否有人可以帮助我改进这个查询以执行以下操作 查找 匹配日期在提交范围内的记录 按天对结果进行分组 每天的回报平均值 这是我的模型 有一些有用的属性可以使编写此查询变得更容易 例如day财产
  • 对浮点数进行四舍五入,使它们的总和恰好为 1

    我有一段相当粗糙的代码 它必须或多或少随机生成一堆百分比 并存储为十进制浮点数 也就是说 它确定材料一占总数的 13 307 然后将其存储在字典中为 0 13307 问题是 我永远无法让这些数字加起来恰好为一 老实说 我并不完全确定问题是什
  • Javascript:location.hostname 和 document.domain 之间的区别?

    使用 location hostname 和 document domain 有什么区别 我认为用例子来解释会很有帮助 看起来document domain is a 只读属性 但在 Mozilla 中除外 它允许您更改用于 例如 AJAX
  • 从 WINAPI 获取文件的先前版本

    在 Windows 7 中 可以获取以前版本的文件 如下图所示 有没有办法通过代码检索文件的先前版本 因为我找不到任何API 感谢先进 这个问题列出了几个标签 因此 尚不清楚是否需要严格的 c c 方法 或者脚本等是否有效 任何状况之下 以
  • Ansi-C 中的单行注释

    我已经习惯了 标记来自 Java 和 Visual Studio 的单行注释 令人惊讶的是 Ansi C 不存在这种注释 使用 my comment 很烦人 使用 Ansi C 时还有其他方法标记单行注释吗 ANSI C 不可以 但当前的标
  • 我们如何使用 APK 主扩展文件中的图像?

    我最近 2 天面临一个问题 我们如何在 Google Play 上上传大小超过 50Mb 的 apk 文件 然后我找到了一种从链接上传带有 APK 扩展文件的 apk 文件的方法http developer android com guid
  • 轻量级 Java 对象缓存 API [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • ASP.NET - 获取 DirectoryEntry / SID 的主体 / 相对标识符 (RID)

    我在自定义 MembershipProvider 类中使用 Active Directory 对 ASP NET 2 0 Intranet 应用程序中的用户进行身份验证 并将其 sid 与该应用程序的配置文件相关联 当 的时候ActiveD
  • ColdFusion 和移动应用程序结构和安全性

    Overview 我希望开始使用 HTML5 jQuery 和 ColdFusion 开发 iOS 应用程序 我对此的理解是让 jQuery 为所有后端函数调用 ColdFusion API 伟大的 我的问题主要是关于页面结构和 API 安
  • 如何设置cassandra读写一致性

    我找不到这方面的文档 我知道cqlsh中有一致性命令 但是读一致性和写一致性没有区别 如何为读取和写入设置不同的一致性级别 此外 还提到了 默认 一致性级别 默认设置在哪里 它是用于读还是写 如何为读取和写入设置不同的一致性级别 如果您只想
  • struts2 + hibernate3 + jasper-report 5.0 ----- 得到空白报告

    我创建了一个应用程序 它使用 jasper report 5 0 struts2 和 hibernate 打印报告 jasper报告使用hql 该应用程序工作正常 但问题是我得到空白报告在浏览器中 当我触发 struts 操作时 但是当我在