Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jsp如何获得带有通配符的fmt:message键列表?_Jsp_Internationalization - Fatal编程技术网

jsp如何获得带有通配符的fmt:message键列表?

jsp如何获得带有通配符的fmt:message键列表?,jsp,internationalization,Jsp,Internationalization,我是一个彻头彻尾的jsp新手,如果这是一个愚蠢的问题,请原谅我 我有一个动态区域设置键范围,如下所示: default.someWordTable.dynamicKey.XXX = "Some string" default.someWordTable.dynamicKey.YYY = "Some other string" default.someWordTable.dynamicKey.ZZZ = "A third string" etc. etc. (with no special log

我是一个彻头彻尾的jsp新手,如果这是一个愚蠢的问题,请原谅我

我有一个动态区域设置键范围,如下所示:

default.someWordTable.dynamicKey.XXX = "Some string"
default.someWordTable.dynamicKey.YYY = "Some other string"
default.someWordTable.dynamicKey.ZZZ = "A third string"
etc. etc. (with no special logic to the keynames)
<fmt:message key="someWordTable.dynamicKey.XXX" />
通常我会得到这样的本地化单词:

default.someWordTable.dynamicKey.XXX = "Some string"
default.someWordTable.dynamicKey.YYY = "Some other string"
default.someWordTable.dynamicKey.ZZZ = "A third string"
etc. etc. (with no special logic to the keynames)
<fmt:message key="someWordTable.dynamicKey.XXX" />

但是如果我不知道代码点上的键的子集,有什么方法可以获得名称空间下所有现有键的列表或迭代器吗?我希望这附近有什么东西:

<ul>
    <fmt:forEach items="someWordTable.dynamicKey.*" var="nextKey">
        <li><fmt:message key="someWordTable.dynamicKey.nextKey" /></li>
    </fmt:forEach>
</ul>
或者类似于:

<fmt:getAllSubKeys key="someWordTable.dynamicKey" var="theKeys" />
<ul>
    <c:forEach items="theKeys" var="key">
        <li><fmt:message key="someWordTable.dynamic[key]"></li>
    </c:forEach>
</ul>


我希望我已经设法解释了我在寻找什么。有人知道怎么做吗?

我不知道你为什么要这么做,但我可以告诉你的是,类a方法返回一个包含资源键的类。
可以将捆绑分配给变量:

<fmt:setBundle basename="com.example.messages" var="bundle"/>

您可以在
中使用它:



  • 这里需要注意的一点是,我还没有测试过这段代码。我希望它是正确的。我确信您应该能够使用与此类似的表达语言。至少Servlet 3.0+应该支持它。

    它看起来就像我希望的那样。不幸的是,它不起作用(好像从来没有计算过{$bundle.keySet()}?如果我在forEach循环中尝试c:out键,它只包含:“{$bundle.keySet()}”(我想它只是被当作字符串处理?)您还漏掉了一个结尾“/”在fmt:message语句中。如果您想知道我试图获取的内容,请阅读此处:我有一些来自系统backoffice管理员模块的区域设置密钥表。最终,我们的目标是运行backoffice模块的管理员能够在不受我干扰的情况下动态添加新的区域设置密钥。我需要这些字符串我还需要翻译一些ajax响应,这些响应可以在不受我干扰的情况下更改,因此我希望将所有字符串嵌入javascript,以便可以从ajax complete上的js访问这些字符串。因此,在加载页面时,我希望遍历给定命名空间下的所有键,将它们嵌入js哈希。不幸的是,我既不知道确切的键,也不知道amo当执行我的jsp时,它们的数量是多少。