Domanda

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?

È stato utile?

Soluzione

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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top