2016-05-14 36 views
1

我的領域類:Thymeleaf - 在次類中的方法:文本

public class Note 
{ 
    private Date date; 
    // other fields; 

    public void setDate(Date date) 
    { 
     this.date = date; 
    } 

    public Date getDate() 
    { 
     return date; 
    } 
} 

但在Thymeleaf我不想直接使用領域日期。通常我可以有一個方法,如

public String getFormattedDate() 
{ 
    DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); 
    return dateFormat.format(date); 
} 

沒有字段名爲formattedDate(我不需要它)。

但是...我不能做到這一點:

th:text = "${note.formattedDate}" 

我可以添加一個名爲formattedDate + getter和setter領域,但在我看來,這是非常不好的解決辦法,因爲我需要格式化的日期才值。

你有解決這個問題的辦法嗎?

+0

請,張貼異常和錯誤的詳細信息。 'th:text =「$ {note.formattedDate}」'是一個有效的表達式。我想你的錯誤是在別的地方。 –

+0

錯誤:「無法在類eniupage.domain.News中爲屬性formattedDate找到setter」 但爲什麼我的表達式有效?如果我使用「$ {note.date}」,它工作正常,但格式不好。 – Bambelal

+1

你也可以這樣做:'th:text =「$ {note.getFormattedDate()}'或'th:text =」$ {#dates.format(note.date,'yyyy/MM/dd HH:mm:ss ')}「'參見[附錄B:表達式實用程序對象 - 日期](http://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html#dates)。 –

回答

0

最好的解決辦法是使用

${#dates.format(date, YOUR_PATTERN, #locale)}