2012-11-29 2 views
0
exporter.setParameter(JRHtmlExporterParameter.IMAGES_DIR_NAME, "images/jasper_tmp/"); 
exporter.setParameter(JRHtmlExporterParameter.IMAGES_URI, "/images/jasper_tmp/"); 

GWT 프로젝트에서 재스퍼 보고서를 사용하고 있습니다.
내 PROD 플랫폼은 Win2003의 TOMCAT 5.5입니다.
나는 TOMCAT 7/Windows 7에서도 사용해 보았습니다.
TOMCAT의 HTML 모드에서 이미지가 없습니다.

이 줄은 서블릿에서 응용 프로그램의 서버 쪽에서 호출됩니다. 그래서 com.google.gwt.core.client.GWT에서 정적 메서드를 사용할 수 없습니다.

모든 일이 괜찮아, 내 문제는 이클립스, jasper reports with HTML Format DEV 모드에서

과 비슷한 것 같다. jasperreport를 HTML로 가져 오면 모든 이미지가 표시됩니다.

내 PROD 환경에서는 TOMCAT 서버로, 재스퍼 보고서의 이미지는 HTML로 표시되지 않습니다. PROD 서버에서 exporter.setParameter(JRHtmlExporterParameter.IMAGES_DIR_NAME, "images/jasper_tmp/");은 내 앱의 배포 디렉토리가 아닌 % TOMCAT_HOME %에 images/jasper_tmp/을 생성합니다.
파일 시스템에서 %TOMCAT_HOME%/images/jasper_tmp/을 입력했습니다. %TOMCAT_HOME%/webapps/my_project/images/jasper_tmp/이 필요합니다.

어떻게 매개 변수로 이미지를 전달할 수 있습니까? (가능한 경우) ... 답변에 제안 된대로.
다시 쓰기 규칙을 만들기 위해 Apache Web Server를 설치해야합니까? 내 PROD 서버에는 TOMCAT 만 있습니다.

감사합니다.

+0

컨텍스트 경로를 사용하려고 했습니까? – SSR

+0

http://docs.oracle.com/javaee/5/api/javax/servlet/ServletConfig.html#getServletContext() 및 http://docs.oracle.com/javaee/5/api/javax를 사용하려는 경우 /servlet/ServletContext.html#getContextPath()는'getServletContext(). getContextPath()'와 같으므로 예. – Manu

+0

나는 jetty-web.xml을 수정하여 개발사와 경로를 동일하게 만들어야했다. 어쨌든 문제가 해결되면 의견에 게시하고 질문을 닫을 수 있습니다. – SSR

답변

0

조사의 image path 또는 css 또는 javascript 오류 여부 및 자세한 내용과 질문을 업데이트 할 Firefox with Firebug Plugin 또는 Chrome with Chrome Dev Tool 또는 IE8 개발자 도구를 사용하십시오.

방화범 - getfirebug.com

크롬 - https://developers.google.com/chrome-developer-tools/docs/overview

IE8 - http://blogs.msdn.com/b/ie/archive/2008/03/07/improved-productivity-through-internet-explorer-8-developer-tools.aspx

1) 정적 자원 봉사의 성능 요구하지 않는 한 재 작성 규칙과 아파치 프록시에 갈 필요가 없습니다.

2) 당신은 GWT.isProdModel, GWT.getHostPageBaseURL(), GWT.getModuleName() 또는 getModuleBaseForStaticFiles()

if (com.google.gwt.core.shared.GWT.isProdMode()){ 
//Path Used in production mode 
} else { 
//Path Used in dev mode 
} 

편집 위를 당신에게 DevMode에 대한 이미지 경로 및 생산 모드를 조정할 수 정보는 클라이언트 측에서 도움이됩니다. 서버 쪽에서 Jetty 서버 컨텍스트 경로는 tomcat 같은 서버의 webapp 배포와 다릅니다. 여기에 언급 된 지침에 따라 바람둥이와 똑같이 고칠 수 있습니다. https://groups.google.com/d/topic/google-web-toolkit/a8OsRmMSaMg/discussion

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" 
"http://jetty.mortbay.org/configure.dtd"> 
<Configure class="org.mortbay.jetty.webapp.WebAppContext"> 

     <Set name="contextPath">/myapp</Set> 

</Configure> 
+0

나는이 공구를 알고있다 ... – Manu

+0

이 앱은 1 ~ 2 명이 내부 앱으로 만 사용하므로 최고 수준의 성능이 필요하지 않습니다. 이것이 내가 아파치 HTTP 서버 솔루션을 피하고 싶은 이유이다. 답변 주셔서 감사 드리며,이 솔루션을 사용해 보겠습니다 ... – Manu

+0

com.google.gwt.core.client.GWT에서 정적 메서드를 사용할 수 없습니다. 응용 프로그램의 서버 측에서 사용할 수 없기 때문에 사용할 수 없습니다. – Manu