代码之家  ›  专栏  ›  技术社区  ›  Prabuddha Kulatunga

如何在登录Jasper服务器社区后自动在主页上加载报表

  •  1
  • Prabuddha Kulatunga  · 技术社区  · 7 年前

    在JasperServerCommunityEdition中,我希望在登录时自动加载报告,而不单击任何报告。我试图将下面的代码添加到 主页.jsp 正如Jaspersoft文档所说的那样,页面是不工作的。

    请帮我这个。

    我添加到home.jsp的代码:

    <% 
    <authz:authorize ifAllGranted="ROLE_REPORT_HOME"> 
    <c:redirect
        url="http://localhost:8080/jasperserver/flow.html?_flowId=viewReportFlow&_flowId=viewReportFlow&ParentFolderUri=%2Freports&reportUnit=%2Freports%2FSample_Dash_Report&standAlone=true"/> 
    </authz:authorize>
    %>
    
    2 回复  |  直到 7 年前
        1
  •  1
  •   Bojan Brajkovic    7 年前

    请确保遵循本教程中的所有步骤,因为您可能错过了向所需用户添加用户角色。此外,在引用来自示例数据的报告时,请确保具有示例数据。

    将报表设置为主页:

    下面的示例显示如何基于角色将报表设置为主页。此示例使用01。按部门划分的地理结果报告。

    1. 首先,设置角色并创建示例用户: a.创建要使用的角色,例如,角色“报告”主页。 b.创建用户home user并向homeuser添加角色“报告”home。
    2. 在编辑器中打开文件\WEB-INF\JSP\modules\home\home.jsp并添加以下行:

        <authz:authorize ifAllGranted="ROLE_REPORT_HOME"> 
        <c:redirecturl="http://localhost:8080/jasperserver-pro-601/flow.html?_flowId=viewReportFlow&standAlone=true&_flowId=viewReportFlow&ParentFolderUri=%2Fpublic%2FSamples%2FReports&reportUnit=%2Fpublic%2FSamples%2FReports%2F01._Geographic_Results_by_Segment_Report"/> 
        </authz:authorize> 

    若要查找要使用的报表的URI,请在存储库中打开该报表并复制该URI。

    1. 保存修改后的文件并重新启动应用程序服务器以查看更改。
    2. 以homeuser身份登录JasperReports服务器。将显示“库”页。
        2
  •  1
  •   Prabuddha Kulatunga    7 年前
    1. 转到Jasper服务器安装目录并搜索 jasperserver-servlet.xml文件 (C:\jaspersoft\jaspersreports-server-cp-6.4.2\apache tomcat\webapps\jasperserver\WEB-INF\jasperserver servlet.xml)
    2. bean id=“主页” 我们必须做出改变。为此,在主页中搜索 jasperserver-servlet.xml文件 文件。
    3. 在标签下,我们可以根据用户角色提供所需的报告链接。但要确保你应该 安培; 在每个之后 & 作记号。否则会出错!

      示例:

      使用Jasper服务器打开报表时,浏览器地址栏中的原始报表链接为; http://localhost:8080/jasperserver/flow.html?_flowId=viewReportFlow&_flowId=viewReportFlow&ParentFolderUri=%2FMy_Reports&reportUnit=%2FMy_Reports%2FDashboard_Report_Landscape&standAlone=true

      但我们应该建立的联系是: 角色_user_redirect:/flow.html?_ flowID=viewReportFlow&_flowID=viewReportFlow&parentFolderUri=%2fmy_报告&ReportUnit=%2fmy_报告%2fdashboard_报告_景观&standalone=true

      检查我们如何添加为 安培; 之后每 & 作记号。我们还可以设置用户角色。在我的例子中,我将用户角色设置为 角色\用户 .

    整个代码段是;

    <bean id="homePageByRole" class="java.util.ArrayList">
                <constructor-arg index="0" type="java.util.Collection">
                    <list>
                        <value>ROLE_ADMINISTRATOR|redirect:/flow.html?_flowId=searchFlow</value>
                        <value>ROLE_USER|redirect:/flow.html?_flowId=viewReportFlow&amp;_flowId=viewReportFlow&amp;ParentFolderUri=%2FMy_Reports&amp;reportUnit=%2FMy_Reports%2FDashboard_Report_Landscape&amp;standAlone=true</value>
                    </list>
                </constructor-arg>
    </bean>
    
    推荐文章