简体   繁体   中英

struts2 if tag not working properly

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM