xxl36

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  5 Posts :: 0 Stories :: 14 Comments :: 0 Trackbacks

1、  mywebapp-servlet.xml 中定义报表视图解析器:

    <!-- 报表视图解析器 -->

    <bean id="anyname_rptViewResolver" class="org.springframework.web.servlet.view.ResourceBundleViewResolver">

        <property name="order" value="1"/>

        <property name="basename" value="views"/>

    </bean>

 

2、  新建报表视图资源文件 views.properties

mysamplerpt.class=org.springframework.web.servlet.view.jasperreports.JasperReportsMultiFormatView

mysamplerpt.url=/WEB-INF/reports/mysample_rpt.jasper

注意:“views”就是上面的“basename”。

 

3、  web.xml中定义请求URL过滤

<servlet>

        <servlet-name>mywebapp</servlet-name>

        <servlet-class>

            org.springframework.web.servlet.DispatcherServlet

        </servlet-class>

</servlet>

<!-- 报表URL,PDF格式 -->

<servlet-mapping>

        <servlet-name>mywebapp</servlet-name>

        <url-pattern>*.pdf</url-pattern>       

    </servlet-mapping>

    <!-- 报表请求URL,Excel格式 -->

    <servlet-mapping>

        <servlet-name>mywebapp</servlet-name>

        <url-pattern>*.xls</url-pattern>       

    </servlet-mapping>

    注意:此两处定义将所有.pdf和.xls后缀的URL纳入Spring MVC的

 

4、  mywebapp-servlet.xml 中定义请求 URL 映射

<bean id="scureUrlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">

<prop key="/showmysamplerpt_inpdf.pdf">MyRptController</prop> <! 将得到PDF格式的报表 à

<prop key="/showmysamplerpt_inxls.xls">MyRptController</prop> <! 将得到Excel格式的报表 à

 

</bean>

 

5、  MyRptController的实现

public class MyRptController extends AbstractController {

    @Override

        protected ModelAndView handleRequestInternal(HttpServletRequest request,   HttpServletResponse response) throws Exception {

            String uri = request.getRequestURI();

            String format = uri.substring(uri.indexOf(".") + 1); //取得URL后缀

 

            Map model = new HashMap();

            model.put("datasource", getApplicationContext().getBean("myDataSource"));  //数据源

            model.put("format", format); //根据URL后缀确定格式

       

            return new ModelAndView("mysamplerpt", model);  //视图名称请参考第二步中的定义

        }

以上是个人实际编程中的一点儿经验,望各位大侠指教。

posted on 2006-10-16 21:35 xxl36 阅读(2453) 评论(7)  编辑  收藏

Feedback

# re: 在Spring MVC中使用JasperReports 2006-10-19 10:29 Flyingis
用JasperReport做出来的报表格式比较死板,你有没有什么比较好的办法?比如能够让用户增减报表字段。  回复  更多评论
  

# re: 在Spring MVC中使用JasperReports 2008-10-27 16:11 我我为
你好,我按照你的意思配置好后,
这样访问http://127.0.0.1/showcgfkhz_inpdf.pdf,显示
http404找不到的错误。什么原因?谢谢。
有可能的发封邮件给我,不胜感激。gkimyidt@163.com  回复  更多评论
  

# re: 在Spring MVC中使用JasperReports 2008-10-27 17:19 我我为
谢谢,不用了。原因是用了apache,加上tomcat的端口就可。  回复  更多评论
  

# re: 在Spring MVC中使用JasperReports 2009-02-26 13:37 zzzdemo
请问,当有子报表时,在views.properties如何设置  回复  更多评论
  

# re: 在Spring MVC中使用JasperReports 2009-07-07 13:53 weihao
请问您有没有例子了?
  回复  更多评论
  

# re: 在Spring MVC中使用JasperReports 2009-07-14 11:18 hamby
为什么我这里生成不了jasper文件;
Could not open ServletContext resource [/WEB-INF/reports/mysample_rpt.jasper ]  回复  更多评论
  

# re: 在Spring MVC中使用JasperReports 2012-03-16 10:48 奥威尔
mysamplerpt
这个类是在那定义的?  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: