2013-04-22 36 views
0

我想动态地将字符串值添加到commandName属性中,使用以下代码JSTL代码。如何动态地为<form:form>的commandName属性中的commandName属性赋值为

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

看起来像弹簧被解释整个代码作为字符串值,而不是分配值“方法add_item”或“update_item”。 我尝试使用JavaScript代码,但发现它给出了相同的错误,因为它是客户端技术。 任何人都可以告诉我我的问题在哪里?

回答

1

只需利用EL ternary operator。在你的案例中,代码可以写成:

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