我使用的是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