﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-hejianhuacn</title><link>http://www.blogjava.net/hejianhuacn/</link><description /><language>zh-cn</language><lastBuildDate>Tue, 05 May 2026 21:56:53 GMT</lastBuildDate><pubDate>Tue, 05 May 2026 21:56:53 GMT</pubDate><ttl>60</ttl><item><title>[导入]JasperReport 在Spring中的使用 问题</title><link>http://www.blogjava.net/hejianhuacn/archive/2007/12/04/165234.html</link><dc:creator>hejianhuacn</dc:creator><author>hejianhuacn</author><pubDate>Tue, 04 Dec 2007 09:13:00 GMT</pubDate><guid>http://www.blogjava.net/hejianhuacn/archive/2007/12/04/165234.html</guid><wfw:comment>http://www.blogjava.net/hejianhuacn/comments/165234.html</wfw:comment><comments>http://www.blogjava.net/hejianhuacn/archive/2007/12/04/165234.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hejianhuacn/comments/commentRss/165234.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hejianhuacn/services/trackbacks/165234.html</trackback:ping><description><![CDATA[
          <br/>
          网站: <a href="http://www.JavaEye.com">JavaEye</a>&nbsp;
          作者: <a href="http://hejianhuacn.javaeye.com">hejianhuacn</a>&nbsp;
                    链接：<a href="http://hejianhuacn.javaeye.com/blog/138725" style="color:red;">http://hejianhuacn.javaeye.com/blog/138725</a>&nbsp;
          发表时间: 2007年11月07日
          <br/>
          <br/>
          <table width="100%"><tr><td><p>最近看了《JasperReports for Java Developers》，里面讲了怎么在Spring里使用JasperReport
<br />照着里面的例子做了一下，例子是没有问题的，但是我把展现方式改为由JasperReportsHtmlView 展现就出问题了，所有的图片都出不来，是不是使用JasperReportsHtmlView还要配置其它的拦截器或是什么？我在Google里找了一通，也没能解决主要是E文不太好国外的论坛也找了，看得头大，所以把代码贴出来，那位用过的能指点一下，谢过了</p>

<p><b>web配置文件</b>
<br /><div class="code_title">代码</div><div class="code_div"><textarea name="code" class="java" rows="15" cols="100" >&lt;?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" xsi:schemalocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee">
	<display-name>ReportWebApp</display-name>
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
	<servlet>
		<servlet-name>jasperSpring</servlet-name>
	<servlet-class>org.springframework.web.servlet.DispatcherServlet 
        </servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>jasperSpring</servlet-name>
		<url-pattern>/jasperSpring/*</url-pattern>
	</servlet-mapping>
</web-app></textarea></div><script>render_code();</script></p>

<p><b>前台Jsp页面：</b>
<br /><div class="code_title">代码</div><div class="code_div"><textarea name="code" class="xml" rows="15" cols="100" >&lt;%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
	<title>Generate Report</title>
	</head>
<body>
			Click on the button to generate the report.
&lt;form name="reportForm" action="jasperSpring/report" method="get"><input name="submitButton" type="submit" value="Submit" />&lt;/form>
</body>
</html></textarea></div><script>render_code();</script></p>

<p><b>jasperSpring-servlet.xml的内容：</b>
<br /><div class="code_title">代码</div><div class="code_div"><textarea name="code" class="java" rows="15" cols="100" >&lt;?xml version="1.0" encoding="UTF-8" ?>
&lt;!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
	<bean destroy-method="close" class="org.springframework.jdbc.datasource.DriverManagerDataSource" id="dataSource">
		<property name="driverClassName">
			<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
		</property>
		<property name="url">
			<value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind</value>
		</property>
		<property name="username">
			<value>sa</value>
		</property>
		<property name="password">
			<value>sa</value>
		</property>
	</bean>
	<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping" id="publicUrlMapping">
		<property name="mappings">
			<props>
				<prop key="report">jasperController</prop>
			</props>
		</property>
	</bean>
	<bean class="net.aachina.jasperreport.JasperSpringController" id="jasperController">
		<property name="dataSource">
			<ref local="dataSource" />
		</property>
	</bean>
	<bean class="org.springframework.web.servlet.view.ResourceBundleViewResolver" id="viewResolver">
		<property name="basename" value="views" />
	</bean>
	<bean class="net.sf.jasperreports.j2ee.servlets.ImageServlet" id="ImageServlet">
	</bean>
</beans></textarea></div><script>render_code();</script></p>

<p><div class="quote_title">引用</div><div class="quote_div">views.properties中的内容</div>
<br /><div class="code_title">代码</div><div class="code_div"><textarea name="code" class="java" rows="15" cols="100" >
report.class=org.springframework.web.servlet.view.jasperreports.JasperReportsPdfView
#report.class=org.springframework.web.servlet.view.jasperreports.JasperReportsHtmlView
#report.class=net.aachina.jasperreport.render.JasperReportsHtmlView
report.url=reports/ChartReportDemo.jasper
</textarea></div><script>render_code();</script></p>

<p>控制器JasperSpringController的源码：
<br /><div class="code_title">代码</div><div class="code_div"><textarea name="code" class="java" rows="15" cols="100" >
package net.aachina.jasperreport;

import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;

import net.sf.jasperreports.engine.JRResultSetDataSource;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

public class JasperSpringController implements Controller {

	private DataSource dataSource;

	public ModelAndView handleRequest(HttpServletRequest request,	HttpServletResponse response) throws ServletException,	IOException, ClassNotFoundException, SQLException
	{
		
		return new ModelAndView("report", getModel());
	}

	@SuppressWarnings("unchecked")
	private Map getModel() throws ClassNotFoundException, SQLException
	{
		Connection connection;
		Statement statement;
		ResultSet resultSet;
		HashMap model = new HashMap();
		String query = "SELECT"+
			     " Employees.[LastName] AS Employees_LastName,"+
		              " Employees.[FirstName] AS Employees_FirstName,"+
		              " Employees.[EmployeeID] AS Employees_EmployeeID,"+
		              " Orders.[OrderID] AS Orders_OrderID,"+
		              " Orders.[OrderDate] AS Orders_OrderDate "+
		                "  FROM "+
" Employees INNER JOIN  Orders ON Employees.[EmployeeID] = Orders.[EmployeeID]";
		connection = dataSource.getConnection();
		statement = connection.createStatement();
		resultSet = statement.executeQuery(query);
		JRResultSetDataSource resultSetDataSource =new JRResultSetDataSource(resultSet);
		model.put("datasource", resultSetDataSource);
		return model;
		}
	
	public void setDataSource(DataSource dataSource) 
	{
		this.dataSource = dataSource;
	}
}
</textarea></div><script>render_code();</script></p>

<p>JasperReport页面在IReport中的效果：</p>

<p>页面输出PDF效果：</p>

<p>但把输出改为JasperReportsHtmlView页面上的所有图片都显示不出来，应该是还有什么属性值设置的不对，哪位知道的请指点一下，项目里面的Jar包太大了不然把整个项目都上传上来</p></td></tr></table>
          <br/>
          <span style="color:red;">
            <a href="http://hejianhuacn.javaeye.com/blog/138725#comments" style="color:red;">评论也很精彩，浏览评论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
                      <a href="http://www.javaeye.com/topic/143014">杭州：淘宝网：高薪急聘架构师和资深开发工程师</a>
            <br />
                      <a href="http://www.javaeye.com/topic/92740"> 广州：优易公司：诚聘Java工程师，开发经理  </a>
            <br />
                      <a href="http://www.javaeye.com/topic/92797">上海：尤恩斯国际集团：诚聘开发工程师</a>
            <br />
                      <a href="http://www.javaeye.com/topic/69984">北京：优秀公司NHNChina招聘:WEB开发,系统管理,JAVA开发, DBA</a>
            <br />
                    <br /><br /><br /><br />
          <br>文章来源:<a href='http://hejianhuacn.javaeye.com/blog/138725'>http://hejianhuacn.javaeye.com/blog/138725</a><img src ="http://www.blogjava.net/hejianhuacn/aggbug/165234.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hejianhuacn/" target="_blank">hejianhuacn</a> 2007-12-04 17:13 <a href="http://www.blogjava.net/hejianhuacn/archive/2007/12/04/165234.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js中cloneNode()的使用</title><link>http://www.blogjava.net/hejianhuacn/archive/2006/08/25/65731.html</link><dc:creator>hejianhuacn</dc:creator><author>hejianhuacn</author><pubDate>Fri, 25 Aug 2006 03:38:00 GMT</pubDate><guid>http://www.blogjava.net/hejianhuacn/archive/2006/08/25/65731.html</guid><wfw:comment>http://www.blogjava.net/hejianhuacn/comments/65731.html</wfw:comment><comments>http://www.blogjava.net/hejianhuacn/archive/2006/08/25/65731.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/hejianhuacn/comments/commentRss/65731.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hejianhuacn/services/trackbacks/65731.html</trackback:ping><description><![CDATA[      在web页面中经常需要出现许多完全一样的控件项，而需要控件的多少完全由用户输入量决定，在js中可以很容易的实现这点，效果展示大多时候比语言来得更有魅力。<br />&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>"&gt;<br />&lt;html xmlns="<a href="http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml</a>"&gt;<br />&lt;head&gt;<br />&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312" /&gt;<br />&lt;title&gt;控件cloneNode（）方法的使用&lt;/title&gt;<br />&lt;script language="javascript"&gt;<br /> i=1;<br /> function AddRow()<br /> {<br />   var tableObject=new Object();<br />   <br />   var isneed=true;<br />   <br />   tableObject=document.getElementById("CloneNodeShow");<br />   //判断是否有必要添加新的输入行<br />   for(var j=0;j&lt;tableObject.all.tags("input").length;j++)<br />   {<br />    var inputs = tableObject.all.tags("input")[j]; <br />    if(inputs.type=="text" &amp;&amp; inputs.value=="")<br />    {<br />     isneed=false;<br />    }<br />   }<br />   if(isneed)<br />   {<br />    //添加一行   <br />    var newTR=tableObject.insertRow();<br />    var td0=newTR.insertCell();<br />    var td1=newTR.insertCell();<br />    var td2=newTR.insertCell();<br />    var td3=newTR.insertCell();<br />    <br />    td0.innerHTML=(++i)+'.';<br />    td1.innerHTML='&lt;input type="text" name="username"/&gt;';<br />    //true表示深度克隆<br />    var newSelect=document.getElementById("sexType").cloneNode(true);<br />    newSelect.id="sexType"+i;<br />    td2.appendChild(newSelect);<br />    td3.innerHTML='&lt;input type="text" name="age" onchange="AddRow()"/&gt;';   <br />   }<br /> }<br />&lt;/script&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br />&lt;form&gt;<br /> &lt;table id="CloneNodeShow" border="2" bordercolor="#000000"&gt;<br />  &lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;姓名&lt;/th&gt;&lt;th&gt;性别&lt;/th&gt;&lt;th&gt;年龄&lt;/th&gt;&lt;/tr&gt;<br />  &lt;tr id="signTR"  &gt;<br />   &lt;td&gt;1.&lt;/td&gt;<br />   &lt;td&gt;&lt;input type="text" name="username"/&gt;&lt;/td&gt;<br />   &lt;td&gt;<br />    &lt;select name="sexType" id="sexType"&gt;<br />     &lt;option value="%"&gt;请选择性别&lt;/option&gt;<br />     &lt;option value="0"&gt;男&lt;/option&gt;<br />     &lt;option value="1"&gt;女&lt;/option&gt;<br />    &lt;/select&gt;<br />   &lt;/td&gt;<br />   &lt;td&gt;&lt;input type="text" name="age" onchange="AddRow()"/&gt;&lt;/td&gt;<br />  &lt;/tr&gt;<br /> &lt;/table&gt;<br />&lt;/form&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;<br /><img src ="http://www.blogjava.net/hejianhuacn/aggbug/65731.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hejianhuacn/" target="_blank">hejianhuacn</a> 2006-08-25 11:38 <a href="http://www.blogjava.net/hejianhuacn/archive/2006/08/25/65731.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>