标签: resourcebundle

JSF验证未找到自定义ResourceBundle类

我有一个自定义的ResourceBundle类org.example.web.UILabels.java,它可以很好地运行代码,但Eclipse中的JSF编辑器找不到它,我假设编辑器/验证器只是按名称查找属性文件.这也意味着我不再需要提前找到资源,这是非常好的.

有什么想法可以纠正吗?

<f:loadBundle basename="org.example.web.UILabels" var="uiLabels"/>
...
<h:outputText value="#{uiLabels.someTextValue}" />
...
Run Code Online (Sandbox Code Playgroud)

我收到错误消息(在问题错误列表中)

在类路径上找不到资源包org.example.web.UILabels

Type = JSF问题

带有WebStandardTools版本的Eclipse3.4.0

  • 版本:1.4.0.v200802280619-13-7w311917141518
  • 版本:1.5.1.v200802280619-1407w311917141519
  • 版本:3.0.0.v200806092130-7A-8Y8QqN2lf4VSWrI2ek5Pf4k7s

有关我为什么使用ResourceBundle类而不仅仅是属性文件的更多信息,请参阅问题653682如何覆盖某些资源来自属性资源包

谢谢你的时间,David Waters

eclipse jsf resourcebundle

6
推荐指数
1
解决办法
9434
查看次数

如何在使用ResourceBundle API获取的属性文件中转义花括号

在属性文件中我有一个key=A: {{0}, {1}}, B: {{2}, {3}}.我期待一个字符串"A: {0, 1}, B: {1, 2}".花括号内的数字正在解析.如何包含字符"{"而不绑定任何值?我也试过逃避这个角色"// {".即使我无法得到预期的结果.错误java.lang.IllegalArgumentException:无法解析参数编号0,1发生.

java resourcebundle

6
推荐指数
1
解决办法
3918
查看次数

为什么在我的ASP MVC4应用程序中重定向资源捆绑?

我正在使用RC,我已经通过NuGet查看了所有内容都是最新的.在我的global.asax.cs中我得到了:

BundleTable.Bundles.AddDefaultFileExtensionReplacements();
BundleTable.Bundles.AddDefaultIgnorePatterns();
BundleTable.Bundles.AddDefaultFileOrderings();

Bundle scripts = new Bundle("~/Scripts");
scripts.IncludeDirectory("~/Scripts", "*.js");
BundleTable.Bundles.Add(scripts);

Bundle css = new Bundle("~/Content/css");
css.IncludeDirectory("~/Content/css", "*.css", false);
BundleTable.Bundles.Add(css);
Run Code Online (Sandbox Code Playgroud)

我尝试了一些不同的配置而没有任何改进.

然后在我的布局中我得到了:

<link href="@BundleTable.Bundles.ResolveBundleUrl("~/Content/css")" rel="stylesheet" type="text/css" />
<script src="@BundleTable.Bundles.ResolveBundleUrl("~/Scripts")"> </script>
Run Code Online (Sandbox Code Playgroud)

当页面加载它看起来很体面的网址时:

<link href="/Content/css?v=QAsFYXHCbnaU70oGVxpgi9py9iKQrT9C4BVNdHa7xoI1" rel="stylesheet" type="text/css" />
Run Code Online (Sandbox Code Playgroud)

但该网址重定向到:

/Content/css/
Run Code Online (Sandbox Code Playgroud)

返回404找不到错误...

捆绑重定向...

有人有任何想法吗?

asp.net-mvc resourcebundle asp.net-mvc-4 asp.net-optimization

6
推荐指数
2
解决办法
2023
查看次数

Java的ResourceBundle的轻量级替代品?

在某些项目中,我使用经典ResourceBundle机制来获取与语言环境相关的消息(异常消息,信息消息等等).

但我有一些问题:

  • 它对我的口味来说太"重量级"了; 例如,虽然我只需要字符串,但是ResourceBundle可以返回一个Object;
  • 处理非现有密钥很差(未经检查的异常,而不是返回密钥本身);
  • 你可以堆叠捆绑,但不是我想要的方式(添加父亲使用.setParent()不首先搜索父亲,但孩子).

我知道可以编写代码来克服后两点; 但是,如果有一个库以更简单的方式处理消息,那就更好了!你知道吗?

java resourcebundle

6
推荐指数
1
解决办法
1162
查看次数

Android Studio - 在模块中包含ResourceBundles

我目前从eclipse切换到android studio.在eclipse中我有2个项目,一个android应用程序项目和一个java项目,我将其作为库包含在android项目中.这个java项目使用ResourceBundles为它自己的错误创建国际化的错误消息.这是我的项目结构:

/MyApp
   /src
   /res
   ...
/MyLibrary
   /src
   /res (added as source folder to build path)
      /loc
         Bundle_en.properties 
Run Code Online (Sandbox Code Playgroud)

这在加载RessourceBundles时起作用如下:

ResourceBundle.getBundle("loc.Bundle", Locale.ENGLISH);
Run Code Online (Sandbox Code Playgroud)

现在我切换到android studio,我的新项目结构看起来像这样(将java库添加为模块):

/MyProject
   /MyApp
      ...
   /MyLibrary
      /src
         /main
            /java
               ...
            /res
               /loc
                  Bundle_en.properties   
Run Code Online (Sandbox Code Playgroud)

但是我不能再加载ResourceBundles了,它只是扔了一个java.util.MissingResourceException.我为ResourceBundles和不同的路径尝试了很多不同的位置,但我会发疯,因为似乎没有任何工作.任何人都可以解释在哪里放这些捆绑以及如何加载它们?

谢谢!

resourcebundle android-studio

6
推荐指数
2
解决办法
3992
查看次数

Java Multiple ResourceBundles

我想从各种包中加载多个属性文件作为ResourceBundle.我能用Java实现吗?

java resourcebundle

5
推荐指数
1
解决办法
8224
查看次数

典型的java i18n进程 - 将资源文件发送给翻译公司进行翻译

有很多关于使用Java ResourceBundles来提供多种语言UI的教程.但是,关于与翻译公司的典型互动存在流程问题,我似乎无法找到答案.

假设我不懂法语,需要聘请翻译公司为我的应用程序翻译,我会发送给他们

  1. 默认资源属性文件"whatever_en_US.properties"包括密钥和英文值,并返回"whatever_fr_FR.properties"?
  2. 带有空值的"whatever_fr_FR.properties"和"whatever_en_US.properties"供参考?
  3. 其他一些组合?

java resourcebundle internationalization

5
推荐指数
1
解决办法
1996
查看次数

通过HTTP加载ResourceBundle?

我需要从CMS加载文本标签.内容以标准属性文件格式公开.CMS作为一种RESTful Web服务提供者运行,而不是推送文件,因此我需要按需提取属性文件.我天真地希望,如果我创建了一个ReloadableResourceBundleMessageSource并将基本名称设置为文件的URL减去locale参数,那将会像魔术一样工作,但显然它没有.任何人都可以建议一个方法吗?在Spring中是否存在开箱即用的解决方案,还是有一些我需要扩展的类?

java spring resourcebundle

5
推荐指数
1
解决办法
586
查看次数

Java单元测试无法访问ResourceBundle

我正在创建一个Java单元测试来测试我最近更改的一些代码.但是,我测试的方法实例化一个使用ResourceBundle的类...

ResourceBundle.getBundle("businessVariables").getString("product.name"));
Run Code Online (Sandbox Code Playgroud)

资源文件位于Web包中 Mycompany_web/src/main/webapp/WEB-INF/classes/businessVariables.properties

我的测试生活在我的xml包中 Mycompany_xml/src/test/java/uk/co/mycompany/xmlapi/RequestProcessorTestNew.java

在正常运行时,资源包可以访问,但不能在我的单元测试运行时访问.它抛出了这个错误......

Testcase: testCreateInitialStatusResponse(uk.co.mycompany.xmlapi.RequestProcessorTestNew):  Caused an ERROR
null
java.lang.reflect.InvocationTargetException
    at uk.co.mycompany.xmlapi.RequestProcessorTestNew.testCreateInitialStatusResponse(RequestProcessorTestNew.java:62)
Caused by: java.lang.ExceptionInInitializerError
    at uk.co.mycompany.xmlapi.RequestProcessorImpl.createInitialStatusResponse(RequestProcessorImpl.java:812)
Caused by: java.util.MissingResourceException: Can't find bundle for base name businessVariables, locale en_US
Run Code Online (Sandbox Code Playgroud)

我该怎么办?我可以启用测试以某种方式查看资源包吗?我可以在某处以某种方式创建一个模拟资源文件,代码将能够看到吗?

java junit unit-testing easymock resourcebundle

5
推荐指数
1
解决办法
8956
查看次数

在OSGi包中加载ResourceBundle

我有一个使用java.util.ResourceBundle来处理显示字符串的应用程序.我使用ListResourceBundle作为基类型,因为我希望能够返回一些属性键的字符串数组(大多数是标准名称/值配对).

当我尝试在OSGi环境中加载ResourceBundle时,我得到一个MissingResourceException.我无法弄清楚为什么会这样.在尝试获取包之前,我可以解析类名并在两个语句中创建类的新实例,因此我知道类在包中.我正在使用区域设置(en_AU)但没有为该区域设置提供特定的类,回退规则应该选择我的默认实现.即使我为语言环境添加了一个类,它也没有解析.

我获取数据的过程是:

服务

public interface NameManager {
   public String getCategoryName(String identifier, Locale locale);
}
Run Code Online (Sandbox Code Playgroud)

这个的实现

public class OsgiNameManager implements NameManager {
   public String getCategoryName(@Nonnull Identifier category, Locale locale)
   {
      try {
        Collection<ServiceReference> references = (Collection)osgiContext.getServiceReferences(
                 DisplayNameProvider.class, "(namespace=" + category + ")");
        Iterator<ServiceReference> it = references.iterator();
        while ( it.hasNext() ) {
           ServiceReference reference = (ServiceReference)it.next();
           DisplayNameProvider namer = (DisplayNameProvider)osgiContext.getService(reference);
           String name = namer.getCategoryName(category, locale);
           osgiContext.ungetService(reference);

           if (name != null)
              return name;
        }
     }
     catch (InvalidSyntaxException badFormat) {
        LOG.warn("No registered provider …
Run Code Online (Sandbox Code Playgroud)

java osgi resourcebundle

5
推荐指数
1
解决办法
2857
查看次数