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


Odpovedet emailem