В проекте я настрою обработчик пакета ресурсов jsf.согласно этому сообщению:
i18n с файлами свойств в кодировке UTF-8 в приложении JSF 2.0
я добавляю следующие строки в мои лица-config:
<application>
<locale-config>
<default-locale>fa</default-locale>
<supported-locale>en</supported-locale>
<supported-locale>fa</supported-locale>
</locale-config>
<message-bundle>ApplicationResources</message-bundle>
<resource-bundle>
<base-name>org.apache.myfaces.bundle.CustomJsfBundleHandler</base-name>
<var>messages</var>
</resource-bundle>
</application>
И создать обработчик:
package org.apache.myfaces.bundle;
import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
import java.util.PropertyResourceBundle;
public class CustomJsfBundleHandler extends PropertyResourceBundle {
public CustomJsfBundleHandler(InputStream stream) throws IOException {
super(stream);
}
public CustomJsfBundleHandler(Reader reader) throws IOException {
super(reader);
}
@Override
public Object handleGetObject(String key) {
// do some customization
return super.handleGetObject(key);
}
}
Но когда я перехожу на мою страницу, я получаю следующее исключение:
java.util.MissingResourceException: Не могу найти пакет для базового имени org.apache.myfaces.bundle.CustomJsfBundleHandler, локаль en в java.util.ResourceBundle.throwMissingResourceException (ResourceBundle.java:1564) в java.util.ResourceBundle.getBundleImpl (ResourceBundle.javaesutil) (java.util) (13)ResourceBundle.java:1082) в org.apache.myfaces.application.ApplicationImpl.getResourceBundle (ApplicationImpl.java:459) в org.apache.myfaces.application.ApplicationImpl.getResourceBundle (ApplicationImpl.java:435) в org.ap.el.unified.resolver.ResourceBundleResolver.getResourceBundle (ResourceBundleResolver.java:222) в org.apache.myfaces.el.unified.resolver.ResourceBundleResolver.getValue (ResourceBundleResolver.java:136)
У вас есть идеи?