Home > FAQs > Why won't the 'if' tag evaluate a one char string |

Apache Struts 2 Documentation
Why won't the 'if' tag evaluate a one char string
Edit Page Browse Space Add Page Add News

If care is not taken with the quoting of literals, the expression language (OGNL) will misinterpret a char as a String.

Wrong

    <s:if test="aStringProperty == 'A'">
      Why doesn't this work when myString is equal to A?
    </s:if>

The solution is simple: flip the double and single quotes.

Right

    <s:if test='aStringProperty == "A"'>
      This works!
    </s:if>

Another solution is to escape the double quotes in the String.

Also Right

    <s:if test="aStringProperty == \"A\"">
      This works too!
    </s:if>