Odhliadnucod toho, ze v Jave 6 je podpora scriptovacich jazykov, da sa pouzit
Expression Evaluator z projektu JakartaCommons .

http://jakarta.apache.org/commons/el/api/org/apache/commons/el/ExpressionEvaluatorImpl.html#evaluate(java.lang.String,%20java.lang.Class,%20javax.servlet.jsp.el.VariableResolver,%20javax.servlet.jsp.el.FunctionMapper)

Pri pouzite tejto metody potrebujete :
javax.servlet.jsp.el.VariableResolver pResolver - nieco, co vrati podla mena
premennu, da sa vyriesit dakym obalovacom Map
javax.servlet.jsp.el.FunctionMapper functions , v metode resolveFunction 
vratite staticku metodu.

Keby to zaujimalo viac ludi, zmohol by som sa na daku ukazku. V J2EE aplikaciach
je uz tato implementacia pribalena v JSP knizniciach ale nikto to nevie/nechce
pouzivat.



Quoting Adámek Luká¹ <[EMAIL PROTECTED]>:

> Dobry den vsem
>
>
>
> Mam dotaz. :D
>
>
>
> V tabulce mam ulozeny zaznamy obsahujici: id, nazev, hodnotu a vzorec.
>
> Id a nazev jsou jasne, hodnota muze obsahovat cislo nebo null, a vzorec
> obsahuje String.
>
> Aplikacne je osetreno, ze zaznam vzdy obsahuje pouze hodnotu, nebo pouze
> vzorec.
>
> Vzorec obsahuje id jinych radku spojene zakladnimi matematickymi operatory +,
> -, *, /, (, ).
>
>
>
> A muj dotaz zni, existuje v Jave nejaka knihovna, ktera by umela napriklad
> vzorce po dosazeni realnych hodnot vyhodnotit?
>
>
>
> Mam na mysli toto: v tabulce mam tyto zaznamy:
>
> 111       nazev1       4     null
>
> 222       nazev2       8     null
>
> 333       nazev3      null  (111+222)/4
>
>
>
> Vezmu nejakou funkci poptavane knihovny a provedu:
>
> Funkce f = new Funkce("(111+222)/4");
>
> f.setParameter("111", 4);
>
> f.setParameter("222", 8);
>
> float vysledek = f.vypocti();
>
> System.out.println(vysledek);
>
>
>
> A vystupem bude 3;
>
>
>
>
>
> Diky
>
>
>
>



Odpovedet emailem