I am reading the url parameter which has a single character. It will either be Y or N. I have to write a condition to check if it Y or N and do something accordingly. This is what I wrote but does not seem to work (always goes to else). The url is
http://wwww.helloworld.com/showInfo?thecountry=us&theconditionTypeInUrl=Y
<s:set var="theUrl" value="%{#parameters.theconditionTypeInUrl}" />
<s:if test="%{#theUrl == 'Y'}">
</s:if>
<s:else>
</s:else>
I also tried
<s:set var="theUrl" value='%{#parameters.theconditionTypeInUrl}' />
<s:if test='%{#theUrl == "Y"}'>
</s:if>
<s:else>
</s:else>
the struts.xml contains
<action name="showInfo" class="showInfoAction">
<result name="success" type="tiles">dis.Info</result>
<result name="no_results" type="tiles">dis.noInfo</result>
</action>
Usually request parameters are processed by the
paramsinterceptor. The action configuration should have this interceptor included in the stack. If you not referencing this interceptor explicitly thedefaultStackis used that already contains theparamsinterceptor. What you need is the package for the action to be extended the"struts-default".Then parameters will be processed and put to the action attributes, where you could access them via OGNL by implementing getter and setter.
Another way is to implement
ParameterAwareinterface by your action. After injecting parameters it could be available from the action that is on top of thevalueStackand you could get parameters viaafter adding getter for parameters attribute
More detail explanation you could find here.
The way you are trying access request parameters from the action context map via OGNL using
#parameterskey. There could be troubles accessing parameters in theiftag, see here.