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]