节奏:根据请求创建新引擎或在现有引擎实例上设置语言/区域设置

贾普·盖尔兹

节奏可以用作单例或实例化为普通对象。目前,我在ServletInit()方法的webapp中实例化了一次(这与使用单例几乎相同,因为我只创建了一次)

现在,我需要向网站添加i18n支持,并且需要在渲染之前动态设置语言。

我可以这样做:

engine.setLocale(userLocale);
engine.render(template,arguments);

我假设如果我使用一个singleton(或在servlet中创建的单个实例),那么我可能会在两个语句之间获得竞争条件。

  1. 这是正确的还是没有比赛条件?
  2. 我应该为每个请求创建一个Rythm实例吗?
  3. 是否有另一种方法可以更改每个渲染的语言而不更改引擎状态?
Gelin Luo

首先,在最新版的rythm中,您应该致电engine.prepare(Locale),而不是engine.setLocale(Locale);

现在回答您的问题:

  1. 这是正确的还是没有比赛条件?

它不会导致竞争状况,因为它用于ThreadLocal存储渲染设置的代码内部

  1. 我应该为每个请求创建一个Rythm实例吗?

绝对没有

  1. 是否有另一种方法可以更改每个渲染的语言而不更改引擎状态?

语言和语言环境不是引擎级别的状态,它们是每个请求的状态。但是,可以在引擎级别配置默认语言和语言环境

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

设置网格引擎

来自分类Dev

javascript引擎如何在具有原型的对象上设置属性,而该对象具有该属性的设置器?

来自分类Dev

Android SpeechRecognizer设置了识别引擎?

来自分类Dev

从现有实例创建新实例

来自分类Dev

WordPress在现有站点的新盒子上设置域路由

来自分类Dev

如何创建新的系统区域设置

来自分类Dev

如何创建新的系统区域设置

来自分类Dev

Knitr上的自定义语言引擎

来自分类Dev

如何创建现有类的新实例?

来自分类Dev

在谷歌计算引擎中从模板创建实例?

来自分类Dev

从现有实例创建新实例,新类实例更改现有类参数

来自分类Dev

使用mysqldump设置不同的内存引擎

来自分类Dev

Jenkins应用引擎的推送部署设置失败

来自分类Dev

设置机车引擎完全错误

来自分类Dev

Google Chrome搜索引擎设置

来自分类Dev

设置机车引擎严重错误

来自分类Dev

Phalcon的Volt引擎的自动转义设置?

来自分类Dev

使用mysqldump设置不同的内存引擎

来自分类Dev

Jenkins应用引擎的推送部署设置失败

来自分类Dev

根据现有列中的某些规则在新的数据框列中设置值

来自分类Dev

根据是添加新记录还是编辑现有记录在 django 模型中动态设置选项

来自分类Dev

在SQLAlchemy中,可以从现有的ODBC连接创建引擎吗?

来自分类Dev

使用现有的psycopg2连接池创建sqlalchemy引擎

来自分类Dev

在Google云端引擎上仅为一个实例创建用户

来自分类Dev

基于现有实例创建类的新实例

来自分类Dev

如何通过Google Apps引擎写入Google驱动器上的现有文件?

来自分类Dev

JodaTime在现有DateTime上设置TimeZone

来自分类Dev

JodaTime在现有DateTime上设置TimeZone

来自分类Dev

GCE:为现有 VM 实例启用 CDN/将现有 VM 实例添加到新的区域实例组

Related 相关文章

  1. 1

    设置网格引擎

  2. 2

    javascript引擎如何在具有原型的对象上设置属性,而该对象具有该属性的设置器?

  3. 3

    Android SpeechRecognizer设置了识别引擎?

  4. 4

    从现有实例创建新实例

  5. 5

    WordPress在现有站点的新盒子上设置域路由

  6. 6

    如何创建新的系统区域设置

  7. 7

    如何创建新的系统区域设置

  8. 8

    Knitr上的自定义语言引擎

  9. 9

    如何创建现有类的新实例?

  10. 10

    在谷歌计算引擎中从模板创建实例?

  11. 11

    从现有实例创建新实例,新类实例更改现有类参数

  12. 12

    使用mysqldump设置不同的内存引擎

  13. 13

    Jenkins应用引擎的推送部署设置失败

  14. 14

    设置机车引擎完全错误

  15. 15

    Google Chrome搜索引擎设置

  16. 16

    设置机车引擎严重错误

  17. 17

    Phalcon的Volt引擎的自动转义设置?

  18. 18

    使用mysqldump设置不同的内存引擎

  19. 19

    Jenkins应用引擎的推送部署设置失败

  20. 20

    根据现有列中的某些规则在新的数据框列中设置值

  21. 21

    根据是添加新记录还是编辑现有记录在 django 模型中动态设置选项

  22. 22

    在SQLAlchemy中,可以从现有的ODBC连接创建引擎吗?

  23. 23

    使用现有的psycopg2连接池创建sqlalchemy引擎

  24. 24

    在Google云端引擎上仅为一个实例创建用户

  25. 25

    基于现有实例创建类的新实例

  26. 26

    如何通过Google Apps引擎写入Google驱动器上的现有文件?

  27. 27

    JodaTime在现有DateTime上设置TimeZone

  28. 28

    JodaTime在现有DateTime上设置TimeZone

  29. 29

    GCE:为现有 VM 实例启用 CDN/将现有 VM 实例添加到新的区域实例组

热门标签

归档