I am using <s:if>
in my form. My form is:
<form theme="simple" action="saveDetailsRecBackupConf" method="post" >
<table id="form_table" border="1">
<tr>
<td>Rule Name : </td>
<td>
<s:if test='%{rulename == ""}'>
Rule name (in if) : '<s:property value="rulename"/>'
<input name="rulename" id="rulename" value="">
</s:if>
<s:else>
Rule name (in else) : '<s:property value="rulename"/>'
<input name="rulename" id="rulename" readonly="readonly" value="<s:property value="rulename"/>">
</s:else>
</td>
<td>Frequency : </td>
<td>
<s:if test='%{frequency == 0}'>
<s:select id="frquency" list="#@java.util.LinkedHashMap@{'15':'15 minutes', '30':'30 minutes', '60':'60 minutes', '120':'120 minutes', '240':'240 minutes', '480':'480 minutes'}" value="60" name="frequency" theme="simple" style="width: 150px;"/>
</s:if>
<s:else>
<s:select id="frquency" list="#@java.util.LinkedHashMap@{'15':'15 minutes', '30':'30 minutes', '60':'60 minutes', '120':'120 minutes', '240':'240 minutes', '480':'480 minutes'}" value="frequency" name="frequency" theme="simple" style="width: 150px;"/>
</s:else>
</td>
</tr>
</table>
<input type="submit" value="SAVE" name="SUBMIT" id="save" />
</form>
even if the rulename == ""
, <s:else>
runs always. I've also tried rulename.equals("")
, but nothing changes.
O/P is like:
Rule name (in else) : ''
//readonly and empty text filed
Try this
<s:if test='%{rulename == null || rulename.trim().isEmpty()}'>
Rule name (in if) : '<s:property value="rulename"/>'
<input name="rulename" id="rulename" value="">
</s:if>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.