JSTL <c:if>比较2个模型对象</c:if>

时间:2013-11-01 18:46:22

标签: spring jsp jstl

你好我试图标记为选择或不选择html框我想比较每个选项与我添加到我的模型的另一个字符串,以确定哪个是选定的选项,问题是我无法处理它使它工作,它一直说同等符号预期

这是我的代码:

                <select name="version" onchange="document.forms['versionForm'].submit();">
                    <c:forEach var="conf" items="${hconfs}" varStatus="status">
                    <c:if test="${conf == 'versionUsed'}">
                        <option value="${conf}"><fmt:formatDate value="${conf}" pattern="dd/MM/yyyy hh:mm:ss a" selected/></option>
                    </c:if> 
                    <c:if test="${conf != 'versionUsed'}">
                        <option value="${conf}"><fmt:formatDate value="${conf}" pattern="dd/MM/yyyy hh:mm:ss a"/></option>
                    </c:if>                         
                    </c:forEach>
                </select>

这是我得到的错误

org.apache.jasper.JasperException: /WEB-INF/view/configuracion.jsp(86,104) equal symbol expected

2 个答案:

答案 0 :(得分:1)

问题是所选属性,我说错了,应该这样写:

<option value="${confi}" selected="selected" ><fmt:formatDate value="${confi}" pattern="dd/MM/yyyy hh:mm:ss a" /></option>

答案 1 :(得分:1)

html selected必须位于<fmt>代码之外且属于option代码的一部分。

所以你需要改变这一行:

<option value="${conf}"><fmt:formatDate value="${conf}" pattern="dd/MM/yyyy hh:mm:ss a" selected/></option>

为:

<option value="${conf}" selected><fmt:formatDate value="${conf}" pattern="dd/MM/yyyy hh:mm:ss a" /></option>
                        ^^^^^^^^