2017-04-13 41 views
0

我正在檢查Spring控制器中設置的freemarker中屬性的值。Freemarker「if」條件爲空

@RequestMapping(value = PATH, method = RequestMethod.GET) 
    public String doAction(@RequestParam(name = EMAIL, required = false) String email, 
      RedirectAttributes redirectAttributes) { 

     //Some actions 
     ... 
     ... 
     redirectAttributes.addAttribute("token", "token"); 

     return AUTH_OAUTH_PW_PATH + VERIFY_PATH; 

    } 

The freemarker check is like: 
The html component should appear only if the value of the attribute "token" is not found. 

<#if !(token?has_content)> 
      <br></br> 
     <div id="divId"> 
     <p><a href="link" id="id1">Hello</a></p> 
     </div> 
</#if> 

即使未爲令牌設置值,也會看到ftl超鏈接。

回答

0

??測試操作員檢查對象不是空

嘗試用以下:

<#if token??> 
<#else 
     <br></br> 
     <div id="divId"> 
     <p><a href="link" id="id1">Hello</a></p> 
     </div> 
</#if> 
+0

OP表示,如果'token'是它應該出現*不*發現,所以這是'令牌??'然後! (但是,'!token?has_content'對'null'也應該是'true',即使它比較冗長。請注意,爲什麼這對他們不起作用。) – ddekany

+0

我試過這個。但是,它完全使該html消失。 –