Skip to end of metadata
Go to start of metadata

A SparkLines egy érdekes kezdeményezés, amely on-the-fly egyszerű grafikonokat tesz ki képként oda, ahol a JSP oldalon hivatkozunk rá. Kétféle grafikont képes rajzolni: oszlopokat vagy vonalat. Használata nagyjából az alábbi kódrészlettel foglalható össze:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="spark" uri="http://www.representqueens.com/taglibs/spark" %>
[...]
<c:set var="test" value="5, 35, 22, 19, 16, 10, 4, 33, 9, 12, 27, 36, 22" />
<img src="<spark:bar name="test" color="red" />"/>

A c:set JSTL használatával adatokkal töltjük fel a test nevű változót, majd a spark:bartaglib elkészíti a kép forrását:

<img src="/x/spark?type=bar&color=red&data=5,35,22,19,16,10,4,33,9,12,27,36,22" />

Ebben a megadott elérési útban az x a context elérési útja, a spark pedig az az URI, amire a SparkLines szervlet kötve van.

      
      
Page viewed times

5 Comments

  1. És mi van akkor, ha egy bonyolultabb ábrát akarok képben rajzolni. Hogy adom át neki azt a több száz paramétert az img url-ben? Úgy tudom ott csak 8192 karakter lehet, mert a szabvány ennyit enged meg - postolni meg ugye nem lehet. XMLHttpRequest?
    1. Auth Gábor AUTHOR

      Akkor már módszert használsz... :)

      Ez a kis cucc csak és kizárólag erre jó, ha több kell, akkor JFreeChart.

      1. Grafikont én is tudok rajzolni. A probléma ott van, hogy hogyan tudom megbízhatóan odacsatolni egy lap lekérdezéshez úgy, hogy ne akadjon össze a ugyanazon felhasználó más képernyőivel. Meg csak a megjelenítés idejéig tartogatni.

        Most két módszert tudok erre: SVG vagy VML.

  2. JSFlot - szerintem elég jó, pici, és kényelmes (Demó oldal ), de persze nem tökéletes. 

    A PrimeFaces és az OpenFaces is elég jó chartkezeléssel rendelkezik, bár csak ezért behozni egy framework-öt kicsit pazarlás.

    A Google-nak a Visualisation funkció között is elég jók vannak, de ott sajna némi Javascript kell, és nem biztos, hogy kilát a szerver a belső hálózatról. (mondjuk ezt el lehet kerülni, ha szükséges)

    1. Auth Gábor AUTHOR

      Hát igen, öt év alatt sok újdonság keletkezett... (smile)

#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))