2013-07-16 42 views
1

我有一个Spring MVC项目,并使用JSP作为视图。如何设置Spring MVC模型的默认值?

我有这样的代码片段:

<p>${user.name}</p> 

当用户不为空,它呈现如预期,但是当用户为空,我预计渲染是:

<p>Anonymous</p> 

我不想要在控制器中设置不同的型号。 Spring MVC是否有任何“语法”,例如:

<p>${user.name:default("Anonymous")}</p> 

或者任何相关的?

如果有的话,你能给我一个官方的语法链接吗?

回答

2

您可以使用JSTL中的<c:choose>来达到此目的。

<p> 
    <c:choose> 
     <c:when test="${not empty user}"> 
      <c:out value="${user.name}" /> 
     </c:when> 
     <c:otherwise> 
      <c:out value="Anonymous" /> 
     </c:otherwise> 
    </c:choose> 
</p> 

或更容易:

<p>${not empty user ? user.name : 'Anonymous'}</p> 
+0

感谢您都重播和你煞费苦心的编辑。这对我行得通。但是,我仍然不想知道“$ {var}语法”,官方和完整的解释是什么? – marstone

+1

@marstone有关更多信息,您可以访问[StackOverflow EL wiki](http://stackoverflow.com/tags/el/info),或者将鼠标悬停在问题的[EL]标签上并选择[info](与其他标签类似于JSTL)。在SO wiki中,有足够的信息可以涵盖基础知识,并且还有官方文档的链接。 –