Since 'activated' is a String, try swapping your single & double quotes, e.g. <s:if test='%{warning.activated=="Y"}'>
-Bill On Sat, Jun 26, 2010 at 11:28 AM, lucas owen <sr.ilus...@gmail.com> wrote: > Hi Struts 2 users: > > I was wondering if you can use a s:if test based on a pojo's > attribute value: > > POJO: > > public class Warning{ > > String text; > String activated; // Y or N > > } > > JSP: > > <s:if test=*"%{warning==null}"*> > > --> *Warning* null! > > </s:if> > > <s:else> > > --> *Warning* not null! > > --> Activated: <s:property value=*"warning.activated"*/> > > <s:if test=*"warning.activated == 'Y' "*> > > --> *Warning* *activated*. > > </s:if> > > <s:else> > > --> *Warning* *deactivated*. > > </s:else> > > </s:else> > > The first test (check null value) works OK, but the second always goes > through the else part. > > I have tried test=*"%{warning.activated == 'Y' }" and > *test=*"%{#warning.activated > == 'Y' }" *too but it doesnt work either. > > I dont know what is wrong, <s:property value=*"warning.activated"*/> shows > the value correctly... > > > > I know I can use an auxiliar boolean variable depending on the value Y/N > but > I would like to know why it doesnt work this way. > > THANKS IN ADVANCE >