2013-04-22 21 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>