On 3/23/06, Yariel Ramos Moreno <[EMAIL PROTECTED]> wrote:
> Hello:
>
> I'm having some problems with comparisons using logic tags in Struts 1.1. 
> There is more than 12 h that I'm trying to resolve it... and nothing.
>
> I am passing 2 variables by session:
>    niCount = 10
>    viewed = 3 or 21 (I'm trying with this 2 values)
>
<snip/>

Many of the logic tags have been deprecated in favor of JSTL tags. The
comparison tags fall in this category.

If possible, switch to using JSTL, like so:

<c:if test="${sessionScope.niCount le sessionScope.viewed}">
  ... some code here ....
</c:if>

<c:if test="${sessionScope.viewed lt sessionScope.niCount}">
  ... some (hopefully other ;-) code here ....
</c:if>

even better, use <c:choose> since the two conditions are complementary.

If switching is not possible ...


> Then I'm doing this:
>
> <logic:lessEqual scope="session" name="niCount" value="viewed">
>    .... some code here ...
> </logic:lessEqual>
>
> <logic:lessThan scope="session" name="viewed" value="niCount">
>    .... some code here ....
> </logic:lessThan>
>
> as result the code inside both conditions is executed... and if you look at 
> both conditions, the variables are inverted. I have try all possible 
> combination with the other tags and the evaluation is never correct (when I 
> use logic:greaterThan or logic:greaterEqual, the code in it's body is never 
> excecuted).
>
<snap/>

Thats because the "value" attribute is passed the literal "viewed" in
the first case, leading to a String comparison. If you're able to use
EL, pass "${sessionScope.viewed}" instead (if not, a runtime
expression).

-Rahul


> I don't know what can I do.
>
> Thanks in advance,
>
> Yariel.
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to