2013-12-18 95 views
1

我想在我的模板逃脫HTML,但無論我怎麼努力,它不會工作逃生模板PlayFramework HTML

這裏是我的模板:

<ul> 
    @for(index <- 0 until appointments.size){ 
    <li> 
     @(utils.DateUtil.getLocalDate(appointments(index).getStartDate())) - @appointments(index).getReason() 
<ul> 

@{val procedure = appointments(index).getProcedures() 

    {if(procedure == null){ 
    <b>Empty</b> 
} else { 
    "&gt;b/&lt;NotEmpty&gt;/b&lt;" + 
    procedure.size().toString+ 
    procedure.size().toString+ 
     <b>NotEmpty</b>+ 
    "<b>NotEmpty</b>"+ 
    "<b>NotEmpty</b>".toString; 
} 
} 


      } 


     </ul> 

    </li> 
    } 

</ul> 

有問題的代碼在else分支

我想打印<b>NotEmpty</b>NotEmpty但我有隻是一個純文本,而不是HTML

我已經試過@Html("<strong>Do not escape</strong>")但它說expected start of definition

如果我刪除else分支內容,只留下

else { 
    <b>NotEmpty</b>; 
} 

它打印出罰款。 我使用Scala的2.10.2(運行Java 1.7.0_25)內置播放框架2.2.1

+0

不僅僅是使用CSS使文本加粗。 – Jakob

+0

這不是關於如何使文本加粗打印出html標籤,例如:

某些文本

some elements
q99

+0

只是好奇你爲什麼要使用'for'循環?不是'@for(預約< - 約會)'更好嗎?還可以使用'@if {else else}}等。嘗試先轉換爲標準的播放語法,並檢查這是否解決您的問題 – biesior

回答

1

如何:

@{ 
    val x = Some(Seq("hi there")) 

    if(x.isDefined) 
    <b>size = {x.get.size}</b><br/> 
    <b>Not Empty</b> 
    else 
    <b>Empty</b> 
}