Ahoj,
já řešil podobný problém. Pouze dotazy jsem měl uložené v DB a uživatel
si je vybíral. Zadání nicméně bylo mít libovolný dotaz a zobrazit to do
tabulky. Vyřešil jsem to tak, že mám obecnou třídu, která dostane dotaz
jako sql string a vyplivne List<Map<String, Object>>. Ke každému dotazu
mám v DB uložen i seznam sloupců, které dotaz vrací (protože k tomu mám
uloženy hlavičky pro tabulku). No a obě tyto kolekce přes jsp předhodím
knihovně DisplayTag, která mi to dost hezky zobrazí.

A použití je takové, že tvůrce reportu vyrobí SQL (může být
parametrizovaný) a k tomu vzhled tabulky (pořadí sloupců, nadpisy
sloupců, formátování). To se (no, trochu krkolomě) uloží do DB a
uživatelé mají nový report. Je tu ale předpoklad, že není třeba SQL
vyrábět a dodávat ad-hoc. I když i to by šlo - nadpisy by se udělaly z
názvů atributů z kolekce dat a pořadí by bylo dané pořadím v kolekci.


-- 

s pozdravem

Vladimír Náprstek
E-mail         : [email protected]


-------- Původní zpráva --------
Od: Ales Dostal <[email protected]>
Odpovědět-komu: Java <[email protected]>
Komu: konference <[email protected]>
Předmět: Alternativa Apache Velocity
Datum: Thu, 8 Jan 2009 23:05:58 +0100

Zdravím konferenci,
hledám nějaký vhodný způsob dynamického skriptování uvnitř apache
wicketu.

O co jde:
Pokročilý uživatel napíše SQL dotaz, díky kterému získám kolekci dat.
Tuto kolekci bych rád nějak reprezentoval ve webové aplikaci. Rád bych,
aby zobrazení bylo volitelné, tedy daný uživatel nadefinuje jak daná
sestava bude vypadat.

Zatím se mi jeví jako nejlepší řešení Apache Velocity. Podle toho, co
jsem koukal, tak nadefinuji vstupní parametry a poté nad nimi již
jednoduše skriptuji.

Problém je v tom, že s daným řešením nemám žádné zkušennosti a navíc
neznám žádné vhodné alternativy, které by stály za to prohlédnout.

Požadavkem je dynamická podpora, jednoduchost, možnost provozovat dané
řešení v apache wicket.

Díky všem!


Odpovedet emailem