0

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?

h-rai
  • 3,636
  • 6
  • 52
  • 76

1 Answers1

1

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>
skuntsel
  • 11,624
  • 11
  • 44
  • 67