Die OGNL Expression Language interpretiert einen String mit nur einem Zeichen (char) falsch.
Dieses Beispiel funktioniert nicht:
<s:if test="#myObj.myString == 'A'">Funktioniert NICHT</s:if>
Es gibt zwei Lösungen für dieses Problem um einen String mit einem Character zu vergleichen:
Lösung 1 (Doppelte und einfache Anführungszeichen umdrehen)
<s:if test='#myObj.myString == "A"'>Funktioniert</s:if>
Lösung 2 (Doppelte Anführungszeichen escapen)
<s:if test="#myObj.myString == \"A\""> Funktioniert</s:if>
http://struts.apache.org/2.0.5/docs/why-wont-the-if-tag-evaluate-a-one-char-string.html
If-Tag – String mit einem Char vergleichen