【问题标题】:How to make a project internationalized in Struts 2?如何在 Struts 2 中使项目国际化?
【发布时间】:2013-12-13 13:24:58
【问题描述】:

我想让我的项目国际化。我正在为西班牙语和意大利语提供支持,但是两种语言中的某些字符(重音和重音字符)在 UI 上显示不正确。

有人有解决这个问题的方法吗?

【问题讨论】:

  • 您将此标记为与 struts2 相关,但未发布导致编码错误的代码。没有更具体的编码错误可能会出现一百万种方式!
  • 这里无法复制粘贴代码。我已经告诉过你这个场景,我想这足以像其他人一样理解。

标签: java user-interface localization struts2 internationalization


【解决方案1】:

是的。你有一个编码问题。正如您的浏览器所认为的那样,您的服务器以不同的编码为页面提供,这是因为国际字符出现错误。

您需要修复 webapp 和 appserver 的设置,以使用更好的编码(首选 utf-8)。

【讨论】:

  • 如果您的网站也有数据库连接,那么您的 webapp 和数据库之间可能存在编码差异。如果没有留下编码偏差,您的国际字符是否可以工作。
  • 数据不是来自数据库。我只更改了硬编码标签。如果是法语,它工作正常。所以我想我可能有一些我无法找到的编码问题
  • 你真的改变了一切,你现在没有收到这个错误。
  • 这似乎是一个编码问题,而不是“国际化”问题,所以他应该修正标题并更具体地说明他的问题。
【解决方案2】:

框架已国际化。

您需要为通过 struts 标签显示的本地化消息添加对应于每个语言环境的资源包。使用 text 标签或 getText() 在 UI 中检索消息。

浏览器语言与 HTTP 请求一起传递,框架创建一个与浏览器设置相对应的语言环境。通过将特殊参数 request_locale 传递给应该在您的堆栈中的 i18n 拦截器来执行切换区域设置。

您也可以将此拦截器配置为接受用户定义的参数。

通常切换到用户会话的区域设置会持续存在。因此,您不必每次都在每个请求上传递参数,但如果需要,也支持这种情况。看看如何使用localization 实现上述所有目标。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-12
    • 1970-01-01
    • 2021-04-17
    • 2017-09-16
    • 1970-01-01
    • 2012-04-25
    • 2016-06-23
    • 1970-01-01
    相关资源
    最近更新 更多