如何让百万美元忽略空对象?

时间:2017-07-07 05:24:04

标签: spring jsp spring-mvc thymeleaf

我有一个以jsp为视图的spring mvc项目项目。我现在需要使用百里香。如果我不将管理器对象放到ModelMap中,那么旧的jsp项目将自动忽略manager对象。

  <form class="form-horizontal" method="post" action="<c:url value=" /${action} " />">
<input type="hidden" name="id" value="${manager.id}">
....
<div class="form-group">
    <label class="col-sm-2 control-label">email</label>
    <div class="col-sm-8">
        <input type="text" name="email" value="${manager.email}" class="form-control1" placeholder="Email">
    </div>
</div>
<div class="form-group">
    <label class="col-sm-2 control-label">phone</label>
    <div class="col-sm-8">
        <input type="text" name="mobile" value="${manager.mobile}" class="form-control1" placeholder="phone number">
    </div>
</div>
...
<div class="form-group">
    <div class="col-sm-8 col-sm-offset-2 ">
        <button class="btn btn-success1 btn-block">sumbit</button>
    </div>
</div>

</form>

但是,如果我写为

,Thymeleaf将会出错
     <input type="text" name="email" th:value="${manager.email}" class="form-control1" placeholder="Email">

我知道我们可以将对象检查为

<input type="text" name="mobile" th:value="${manager? manager.mobile : ''}" class="form-control1" placeholder="phone number">

我是否必须检查每一个?

1 个答案:

答案 0 :(得分:2)

有一个安全的导航&amp; Spring EL中的elvis操作员,可以在Thymeleaf中使用。这是docs 它描述了它。在你的情况下使用它,如下所示,它将返回null而不是抛出异常。

${manager?.email}