我使用的是freemarker,SiteMesh和Spring框架。 對於我使用$ {requestContext.getMessage()}從message.properties中獲取消息的頁面。但對於裝飾者來說,這是行不通的。我應該怎麼做才能讓sitemesh的國際化工作?國際化sitemesh
-1
A
回答
2
您必須使用fmt taglib。
首先,爲sitemesh添加taglib,並將fmt添加到修飾器的fisrt行。
<%@ taglib prefix="decorator" uri="http://www.opensymphony.com/sitemesh/decorator"%>
<%@ taglib prefix="page" uri="http://www.opensymphony.com/sitemesh/page"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt"%>
<fmt:setBundle basename="messages" />
在我的例子中,i18n文件是messages.properties。然後你需要使用fmt標籤來使用消息。
<fmt:message key="key_of_message" />
0
如果你喜歡模板和freemarker中的servlet相反,你可以在你的模板中輸入以下內容:
<#assign fmt=JspTaglibs["http://java.sun.com/jstl/fmt"]>
<@fmt.message key="webapp.name" />
,並在您web.xml
:
<context-param>
<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
<param-value>messages</param-value>
</context-param>
相關問題
- 1. JavaME國際化(國際化)
- 2. Rails 3 ActiveForm國際化(國際化)
- 3. 國際化INLIST
- 4. PHP國際化
- 5. Spring國際化
- 6. PyQt國際化
- 7. Log4j國際化
- 8. 國際化與
- 9. YAML國際化
- 10. GWT國際化
- 11. Rails國際化
- 12. Struts2 +國際化
- 13. Batmanjs國際化
- 14. 國際化mx:MenuBar?
- 15. 國際化
- 16. Spring國際化
- 17. Mono國際化
- 18. Java國際化
- 19. jqGrid國際化
- 20. activeadmin +國際化
- 21. 國際化QNames/CURIs
- 22. 國際化驗證
- 23. Cakephp 2.6國際化
- 24. Python國際化(gettext)
- 25. 國際化與jQuery
- 26. JavaScript內國際化
- 27. Spring MVC國際化
- 28. Struts2 +國際化+ Java
- 29. Drupal的國際化 -
- 30. Android WebView國際化
你是什麼意思時,你說什麼它「不起作用」?您是否收到特定的錯誤訊息?它會從「大英百科全書」中返回一個隨機頁面而不是你想要的信息嗎?它退出了嗎?它掛了嗎?它會召喚Yog Sothoth嗎? – 2018-03-05 04:36:02