我想用自定义的JSF h:outputtext替换标准的DataTable分页按钮。
这是当前的提示
现在我需要完全更改按钮。问题是由于语言不同,我正在使用JSF messages.properties文件。
这应该是这样的:
所以我首先想到我可以用JS代替它,但是由于不同的语言而不能使用。因此,当用户是中国人时,文本必须从“下一个”更改为“下一个”,并且由于DOM已经加载并且JS没有JSF功能,因此无法通过JS脚本完成。
这是DOM中的下一个按钮:
<a href="#" class="ui-paginator-next ui-state-default ui-corner-all ui-state-hover" aria-label="Next Page" tabindex="0"><span class="ui-icon ui-icon-seek-next">N</span></a>
所以我需要做这样的事情:
<a href="#" class="ui-paginator-next ui-state-default ui-corner-all ui-state-hover" aria-label="Next Page" tabindex="0"><span>#{msgs.nextMessage} →</span></a>
但是如何?
答案 0 :(得分:-1)
您应该有多个messages.properties文件,每个文件都使用您的不同语言,对吗?下面的示例显示了我将如何制作处理英语和西班牙语的应用程序。
您将拥有一个message.properties,其中包含:greeting = Hello!
然后,您需要具有以下内容的message_sp.properties:greeting = Hola!
您将需要更新您的faces-config.xml,以确保您关注以下内容。
<application>
<locale-config>
<default-locale>en_GB</default-locale>
<supported-locale>sp</supported-locale>
</locale-config>
<resource-bundle>
<base-name>uk.police.ecis.message</base-name>
<var>message</var>
</resource-bundle>
</application>
然后在您的JSF文件中,编写如下内容:
<a href="#" class="paginatorStyle" aria-label="Next Page" tabindex="0"><span>#{message.greeting} →</span></a>
它将为您找出其余部分。您正在尝试在JSF中进行国际化。希望能有所帮助。