CewolfHowTo |
|
Your trail: |
Cewolf 는 JFreeChart 기반으로 만들어 졌음을 알려드립니다.
배포판의 /example/etc 에 들어있는 overlib.js 파일을 당신의 어플리케이션의 root 디렉토리에 복사합니다.
이 자바 스크립트 파일은 모질라 기반 브라우저에서 이미지 맵에 대한 툴팁을 제공하는데 사용됩니다.
위는 웹 어플리케이션에서 Cewolf 를 사용하기 위해 반드시 준비해야 하는 것들입니다.
만약 Cewolf 태그를 사용할때 문제가 생기면(e.g. 서블릿 컨테이너 콘솔에 "No Tags" 라고 나온다든지..)
추가적으로 배포판의 /etc 디렉토리 밑에 있는 cewolf.tld (또는 JSP 1.1 컨테이너에서는 cewolf-1.1.tld) 를 당신의 어플리케이션의 root 밑의 원하는 위치에 넣고
이를 JSPs 페이지에서 cewolf 태그라이브러리 디스크립터로 이 파일을 참조하게 합니다.
/* |
보다시피 위 datasetproducer 는 매우 유용해 보이지는 않습니다.(정적인 데이타 이기 때문에.. 즉 코드에 박힌 데이타..)
보통(실제 사용할 때는) 이 클래스는 datasource (e.g. a database) 를 사용하여 필요한 정보에 접근할 것입니다.
그러나 예제로서 만족시키기에는 위처럼 하면 충분하다고 생각합니다.
DatasetProducer 는 3개의 메소드(methods) 를 구현(implement)해야 합니다.
자 이제 이 클래스를 컴파일 해서 당신의 어플리케이션의 /WEB-INF/classes 디렉토리 밑의 올바른 폴더 위치에 넣습니다.
<servlet> <servlet-name>CewolfServlet</servlet-name> <servlet-class>de.laures.cewolf.CewolfRenderer</servlet-class> </servlet>추가적으로 컨테이너에게 어떤 URL 을 Cewolf 의 servlet 으로 연결 시킬지 알려주기 위해서 servlet-mapping 을 추가해야 합니다.
<servlet-mapping> <servlet-name>CewolfServlet</servlet-name> <url-pattern>/cewolf/*</url-pattern> </servlet-mapping>
서블릿 설정이 제대로 되었는지 확인하려면 서블릿 컨테이너를 시작 시키고(e.g. tomcat .. resin)
브라우져로 서블릿을 호출해 봅니다.(e.g. http://localhost:8080/myapp/cewolf?state).
Cewolf 는 다음과 같은 응답을 할 것입니다. "Cewolf servlet up and running."
<%@page contentType="text/html"%> <%@taglib uri='/WEB-INF/cewolf.tld' prefix='cewolf' %> <HTML> <BODY> <H1>Page View Statistics</H1> <HR> <jsp:useBean id="pageViews" class="net.nudejava.cewolf.example.PageViewCountData"/> <!-- ** cewolf:chart 태그 파라미터 설명 ** id : 이 페이지에 여러 차트가 있을 경우 차트를 구별 하기 위한 아이디 title : 차트의 상단에 나타나게 될 타이틀 type : 차트의 종류 xaxislabel : x 좌표(하단)의 라벨 yaxislabel : y 좌표(좌측)의 라벨 ** cewolf:producer 태그 파라미터 설명 ** id : 실제 데이타를 담고 있는 개체 ** cewolf:img 태그 파라미터 설명 ** chartid : 그려야할 차트의 아이디 (cewolf:chart태그의 id 프로퍼티 값) renderer : 렌더링 서블릿 path --> <!-- ================================ --> <!-- 첫번째 차트 --> <!-- ================================ --> <cewolf:chart id="line" title="Page View Statistics 1" type="line" xaxislabel="Page" yaxislabel="Views"> <cewolf:data> <cewolf:producer id="pageViews"/> </cewolf:data> </cewolf:chart> <p> <cewolf:img chartid="line" renderer="cewolf" width="400" height="300"/> <P> <HR> <!-- ================================ --> <!-- 두번째 차트 --> <!-- ================================ --> <cewolf:chart id="bar" title="Page View Statistics 2" type="verticalbar" xaxislabel='Page' yaxislabel='Views'> <cewolf:gradientpaint> <cewolf:point x="0" y="0" color="#FFFFFF"/> <cewolf:point x="0" y="300" color="#EBEBEB"/> </cewolf:gradientpaint> <cewolf:data> <cewolf:producer id="pageViews"/> </cewolf:data> </cewolf:chart> <p> <cewolf:img chartid="bar" renderer="cewolf" width="400" height="300"/> <p> </BODY> </HTML>
보다시피 첫번째
최종적으로
두 태그 사이의 연결은 같은 id 속성 값을 사용 함으로서 이루어 집니다.
이제 브라우저를 통해 이 페이지를 보게 되면 통계 그래프가 나타날 것입니다.
만약 깨진 이미지가 보인다면 서블릿 컨테이너의 로그 파일을 살펴 보십시오.
다음과 같은 2개의 메소드를 추가합니다.
... |
CategoryDataset 에 맞는 툴팁기능을 제공하기 위해서는 CategoryItemLinkGenerator 과 CategoryToolTipGenerator 인터페이스를 implements 해야 합니다. 다른 데이타 셋에 대해서는 cewolf java api 를 참조하십시오.
그 다음 JSP 페이지의 자 이제 페이지를 열고 data point 에 마우스를 가져다 대면 보면 툴팁과 함께 링크를 볼 수 있을겁니다.
Cewolf 에 대해 더 많은 정보를 얻고 싶으시다면 Tag Library Reference 과 Cewolf JavaDoc 을 참조하세요.
더 많은 예제를 보고 싶다면 example webapp(Cewolf home page에서 다운 받으세요) 를 디플로이 시키고 그 소스코드들을 참조해 가며 보면 됩니다.
<cewolf:img chartid="line" renderer="cewolf" width="400" height="300">
<cewolf:map linkgeneratorid="pageViews" tooltipgeneratorid="pageViews"/>
</cewolf:img>
폰트 조정
<%@page import="org.jfree.chart.plot.*"%>
<%@page import="org.jfree.chart.axis.*"%>
<%@page import="java.awt.Font"%>
<%
ChartPostProcessor dataColor = new ChartPostProcessor() {
public void processChart(Object chart, Map params) {
CategoryPlot plot = (CategoryPlot) ((JFreeChart) chart).getPlot();
for (int i = 0; i < params.size(); i++) {
String colorStr = (String) params.get(String.valueOf(i));
plot.getRenderer().setSeriesPaint(i, java.awt.Color.decode(colorStr));
}
final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
rangeAxis.setUpperMargin(0.12);
rangeAxis.setLabelFont(new Font("gulim", Font.PLAIN, 10));
StandardLegend legend = (StandardLegend) ((JFreeChart) chart).getLegend();
legend.setItemFont(new Font("dotum", Font.PLAIN, 12));
}
};
pageContext.setAttribute("dataColor", dataColor);
pageContext.setAttribute("initFlag", "init");
%>
Attachments:
Go to top Edit this page More info... Attach file...
This page last changed on 14-1월-2005 14:22:03 KST by unknown.