2

我有代码:

<spring:hasBindErrors name="formTest">
    <c:forEach items="${errors.globalErrors}" var="error">
      <spring:message code="${error.code}" /><br/>
    </c:forEach>
</spring:hasBindErrors>

所以我${errors}从春天过去了。

如何在 JavaScript 中检查是否存在错误?我试过了:

<script type="text/javascript">
    var NO_ERRORS = ${errors.errorCount? true :false};
</script>

但我总是有:(即使存在错误)

我也试过:

<script type="text/javascript">
        var NO_ERRORS = <c:if test="{empty errors}">true</c:if><c:if test="{not empty errors}">false</c:if>;
    </script>

并且:(在这里我总是正确的

<script type="text/javascript">
        var NO_ERRORS = ${empty errors? true :false};
    </script>

好吧,我有:

<spring:hasBindErrors name="formModel">
            <c:set var="isError" value="${errors.errorCount == 0}" />
            <c:if test="${isError}">
            <script type="text/javascript">
                IS_ERRORS = false;
                </script>
            </c:if>
    </spring:hasBindErrors>

但这是错误的,因为这不起作用:<c:set var="isError" value="${errors.errorCount == 0}" />如果我改成<c:set var="isError" value="${errors.errorCount > 0}" />是好的,但为什么首先解决方案不起作用?

4

1 回答 1

1
var NO_ERRORS = <c:if test="{empty errors}">true</c:if><c:if test="{not empty errors}">false</c:if>;

假设您errors仅在存在错误时才保存。否则,您可以根据errors.errorCount==0和检查errors.errorCount>0

于 2012-11-26T10:28:27.360 回答