![]() |
1
3
您可以创建自己的faces标记库,使其不那么冗长,比如:
然后在视图目录中创建taglib:/components/ph.taglib.xml
创建/components/i18n.xhtml
你可能会找到一种优雅的方式通过一点研究来传递论点。 现在在web.xml中注册新的taglib
只要添加
|
![]() |
2
5
既然你用的是Seam, you can use EL 在消息文件中。 财产:
XHTML:
这仍然使用outputformat,但不太冗长。 |
|
3
3
除了输出格式,我从来没有遇到过其他的方法。不幸的是,它相当冗长。 我唯一能建议的另一件事是在一个支持bean中创建消息,然后输出该消息,而不是messageformat。 在我的例子中,我将Spring的messagesource与JSF集成(使用 MessageSourcePropertyResolver )。然后,在你的后援bean中很容易得到参数化的消息——你只需要知道你的用户所在的区域(同样,我已经把区域绑定到了一个支持Bean的属性,所以它可以通过JSF或Java访问)。 我认为参数——特别是消息——是JSF可以做得更好的一件事! |
![]() |
4
3
我一直在思考这个问题,我突然想到,我可以编写自己的JSTL函数,它接受一个消息键和一个可变数量的参数:
如果我的消息函数html在输出之前对结果进行编码,我甚至不需要使用h:outputtext
|
![]() |
5
3
可以使用接缝插值器:
它上面有@bypass拦截器,所以性能应该可以。 |
![]() |
6
1
如果插入消息,可以直接使用bean。
这一款使用弹簧效果很好:
还有…
你需要换一个EL解析器
当做
|
![]() |
7
-1
使用ResourceBundle和属性文件。 |
![]() |
devBem · 反应来自<FormattedMessage> 6 年前 |
![]() |
beechy · 两级国际化;资源绑定 6 年前 |
![]() |
lpt · 外语中的词云或可视化 6 年前 |
![]() |
SeaFuzz · 如何将国际化对象传递给Flutter中的子小部件 6 年前 |
![]() |
lio · 具有三个表和一个动态列的Mysql查询(i18n) 6 年前 |