Vdaka za vsetky odpovede. Skutocne chcem pristupovat k EL z inych nez
JSTL tagov, avsak tieto dalsie nie su moje, ale su z 3rd party
kniznice. Preto som to chcel riesit na urovni JSP stranky.
V jednom projekte som uz pouzival priamo commons-el na vyhodnocovanie
EL vyrazov. Podobnym sposobom by sa dal vytvorit pomocny objekt na
vyhodnotenie EL vyrazov v JSP stranke... alebo este lepsie, spravit si
vlastnu podtriedu JspPage, ktora bude mat metodu evaluate a vyhodnoti
EL. Aspon do casu, kym sa dostaneme na JSP 2.
Vdaka za nakopnutie, toto som potreboval :-)
-Peter
On 6/29/07, Lumír Návrat <[EMAIL PROTECTED]> wrote:
Ahoj,
nevim zda existuje primo nejake reseni obecne. My jsme se setkali s tim,
ze napr. Struts dodava verze s dodatkem -el.jar, ktere obsahuji
podporu pro ${} v jejich znackach.
V nasich vlastnich znackach jsme pak pouzivali tridu EvalHelper
napr.:
...
import org.apache.strutsel.taglib.utils.EvalHelper;
...
protected int value;
/**
* @jsp.attribute
* required="true"
* rtexprvalue="true"
*/
public String getValue() { return Integer.toString(value); }
public void setValue(String value) throws JspException {
this.value = ((Integer)EvalHelper.evalInteger("value", value,
this, pageContext)).intValue();
}
...
Takze se doporucuji inspirovat timto.
Lumi(r)
Peter Stibrany wrote:
> Ahojte,
>
> na jednom z nasich projektov pouzivame starsie verzie JSP a JSTL (JSP
> 1.2, JSTL 1.0). V tejto verzii JSP este nebol Expression Language a
> vyrazy typu ${...} sa dali pouzivat len v JSTL tagoch. Chcel by som
> vsak nejak jednoducho pouzivat EL vyrazy aj v mojich skriptletoch a
> hlavne v <%= ... %>.
>
> Priklad:
>
> V JSP 2.0/JSTL 1.1 mozem urobit toto:
>
> <c:forEach var="novinka" items="${zoznamNoviniek}">
> <li><custom:newsLink
> href="${novinka.href}">${novinka.title}</custom:newsLink></li>
> </c:forEach>
>
> V JSP 1.2/JSTL 1.0 musim urobit:
>
> <c:forEach var="novinka" items="${zoznamNoviniek}">
> <li>
> <custom:newsLink href="<%= ((Novinka)
> pageContext.findAttribute("novinka")).getHref() %>">
> <c:out value="${novinka.title}" />
> </custom:newsLink>
> </li>
> </c:forEach>
>
> Prekaza mi tam hlavne to <%= ((Novinka)
> pageContext.findAttribute("novinka")).getHref() %>. Neda sa v JSP
> 1.2/JSTL 1.0 nejak jednoduchsie pracovat so scoped premennymi
> (problematicke su hlavne atributy v custom tagoch)? Predstavoval by
> som si nieco ako:
>
> <custom:newsLink href='<%= evaluate("novinka.href") %>' />
>
> Nie je nieco take hotove?
>
> S pozdravom,
> -Peter Stibrany
>