如何在spring </form:form>的<form:form>标记中为commandName属性动态赋值

时间:2013-04-22 08:00:37

标签: forms spring-mvc jstl modelattribute

我想使用以下 JSTL 代码动态地将字符串值添加到commandName属性。

<c:choose>
    <c:when test='${catalogueEntry==null}'>
     add_item
     </c:when>
    <c:otherwise>
     update_item
     </c:otherwise>
</c:choose>

看起来spring将整个代码解释为字符串值,而不是赋值'add_item'或'update_item'。 我尝试使用javascript代码,但发现它给出了与客户端技术相同的错误。 谁能告诉我我的问题在哪里?

1 个答案:

答案 0 :(得分:1)

只需使用EL ternary operator即可。在您的情况下,代码可以写成:

<form:form  method="post" commandName="${(catalogueEntry==null) ? 'add_item' : 'update_item'}">
    ...
</form:form>