使用 JSF 从资源包传递本地化的 javascript 消息

Passing localized javascript messages from resource bundles using JSF(使用 JSF 从资源包传递本地化的 javascript 消息)
本文介绍了使用 JSF 从资源包传递本地化的 javascript 消息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经使用 JSF 构建了一个应用程序,服务器发出的所有消息都使用资源包进行了本地化.

I have built an application with JSF and all messages issued by the server are localized with resource bundles.

我的问题是:如何使用存储在资源包中的消息本地化 javascipt 在客户端浏览器中发出消息?

My question is: how to get messages issued in the client browser with javascipt localized with the messages stored in the resource bundles?

我是否必须动态生成 javascript,如果需要,如何实现?

Do I have to generate javascript dynamically and if so how can this be done?

例如,我如何让服务器在以下表单验证方法中本地化 «alert» javascript 消息:

For example, how can I have the server localize the «alert» javascript message in the following form validation method:

function valider() {
    typeActionRadio = document.getElementById("membres_editer_creer:typeActionAdr");
    if (typeActionRadio.style.display == "block") {
        var boutonsRadio = document.forms["membres_editer_creer"]["membres_editer_creer:typeActionAdr"];
        for ( var i = 0; i < boutonsRadio.length; i++)
             if (boutonsRadio.item(i).checked) return true;
    }
     alert ("Vous devez indiquer la raison du changement d'adresse (bouton radio à sélectionner).");
    return false;
}

推荐答案

只要让JSF打印出想要的JS代码即可.例如

Just let JSF print the desired JS code. E.g.

<script>
    var message = "#{bundle['some.key']}";
</script>

你只需要考虑 JS 特殊字符,例如单引号和换行符.为此,您可以注册一个 自定义 EL 函数委托给 Apache Commons Lang StringEscapeUtils,或使用 OmniFaces of:escapeJS() 函数.

You only need to take JS special characters such as singlequotes and newlines into account. For that, you could register a custom EL function which delegates to Apache Commons Lang StringEscapeUtils, or use OmniFaces of:escapeJS() function.

这篇关于使用 JSF 从资源包传递本地化的 javascript 消息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Update another component when Formik form changes(当Formik表单更改时更新另一个组件)
Formik validation isSubmitting / isValidating not getting set to true(Formik验证正在提交/isValiating未设置为True)
React Validation Max Range Using Formik(使用Formik的Reaction验证最大范围)
Validation using Yup to check string or number length(使用YUP检查字符串或数字长度的验证)
Updating initialValues prop on Formik Form does not update input value(更新Formik表单上的初始值属性不会更新输入值)
password validation with yup and formik(使用YUP和Formick进行密码验证)