簡體   English   中英

在spring message.properties中,如何在使用錯誤代碼作為鍵時確保錯誤消息的換行符?

[英]In a spring messages.properties, how to ensure line break of error message when using an error code as key?

messages.properties

error.code=This is error message.\nThis is next line of error message.

現在,當我使用此“ error.code ”為表單字段設置“ errors.rejectValue ”時,在使用以下form:errors顯示錯誤消息時,我無法在jsp頁面上顯示'\\n'的換行符form:errors元素。

而不是'\\n' ,使用<br/>也不起作用,並在頁面上顯示。

為了顯示一個<br>作為換行符,或者錯誤消息體中的任何其他html標簽生效,例如<b> ,只需在標簽級別通過添加htmlEscape="false"將html轉義為關閉form:errors元素。

HTML頁面中不同行的布局實際上並不是消息包可以處理的內容,它只是不適合該任務。 如果您需要顯示多行,那么實際上您將需要多條消息,在屬性文件中有多個條目。

也許你可以做一些迭代一系列屬性的東西,在你的屬性文件中有這樣的東西:

error.code.1=This is error message.
error.code.2=This is next line of error message.

然后它成為JSP的工作來呈現消息序列。 雖然不是很優雅,但我現在想不出更好的解決方案:)

我在從數據庫加載消息時遇到了同樣的問題,這意味着'\\ n'(新行)序列已被轉義。 所以這是示例解決方案,將“\\\\ n”替換為“\\ n”:

String twoLinesMessage=((String)context.getMessage("error.code", null, locale)).replace("\\n","\n"); 

擴展spring標簽form:errors並將轉換從\\n添加到<br />也是一種非常美麗的解決方案,但可能會起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM