2

我有一个简单的问题。我们可以显示 Spring 的验证器生成的错误消息,如下所示。

<form:errors path='edId' cssStyle='font-weight: normal; color: red;'/>

我正在使用一些 HTML<ul><li></li></ul>和 CSS 来显示此类消息。因此,即使没有错误,也会不必要地显示空白项目符号。

因此,我需要有条件地在 JSP 页面上检查消息是否实际上是空白的,例如,

<c:if test="${not empty edIdError}">
    <form:errors path='edId' cssStyle='font-weight: normal; color: red;'/>       
</c:if>

但是测试这种if情况需要将错误消息存储到 JSP 上的某个变量中<c:set var="edIdError"/>(例如),这对我来说似乎是不可能的。可能吗?有没有其他方法可以做到这一点?

无论如何,我只想在消息不为空时显示带有一些 HTML 和 CSS 的消息。我正在使用 Spring 3.2.0。

是的,我有不同的情况,不能使用这种方法。

4

1 回答 1

5

我忘记了关于<c:set>JSTL 标签的一个简单的事情。这是一个容器标签。因此,显然可以<form:errors>像下面这样将标签包含在其中。

<c:set var="edIdError"><form:errors path='edId'/></c:set>

它将变量设置为edIdError来自 Spring 的实际错误消息。因此,现在可以有条件地检查它是否为空(和空),例如,

<c:if test="${not empty edIdError}">
    <form:errors path='edId' cssStyle='font-weight: normal; color: red;'/>
</c:if>

在这种情况下不需要使用标签的value属性。<c:set>我可以根据需要使用 HTML 并在<c:if>条件块中应用 CSS。

于 2013-03-08T05:20:11.260 回答