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

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

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

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

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

Also Right
<s:if test="aStringProperty == \"A\"">
  This works too!
  • No labels