I want to dynamically add a string value to the commandName attribute using the following JSTL code.

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

Looks like the spring is interpreting the whole code as a string value instead of assigning the value 'add_item' or 'update_item'. I tried using the javascript code as well but figured out it is giving the same error as it is client side technology. Can anyone show me where my problem is?

有帮助吗?

解决方案

Simply make use of EL ternary operator. In your case code can be written as:

<form:form  method="post" commandName="${(catalogueEntry==null) ? 'add_item' : 'update_item'}">
    ...
</form:form>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top