Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > получение списка properties


Автор: integral 24.3.2008, 14:12
Пишу приложение с использованием Struts. Такая ситуация, что количество файлов с переводами интерфейса (типа аpplication_en.properties) заранее не известно. Есть стандартный набор и пользователь может добавлять свои файлы (ну или мы в будущем, все перекомптлюем) 
Вот хочется получить список доступных этих файлов, что бы определять по ним какие языки может использовать юзер. Как это сделать (список имен properties-файлов получить)?

всем спасибо 

Автор: Gershkovich 24.3.2008, 15:54
Может просто банальный поиск ?
Типа такова :

Код

final File folder = new File("WEB-INF");

folder.list(new FilenameFilter() {
    public boolean accept(final File dir, final String name) {
        return name.startsWith("application_")
    }
});

Автор: integral 31.3.2008, 11:07
Цитата(Gershkovich @  24.3.2008,  15:54 Найти цитируемый пост)
Может просто банальный поиск ?Типа такова :код Java1:2:3:4:5:6:7:final File folder = new File("WEB-INF");folder.list(new FilenameFilter() {    public boolean accept(final File dir, final String name) {        return name.startsWith("application_")    }});

низачет:(
я так тож сделал, но как оказалось после уупаковки всего в джар - не катит. Рпавильное ришение типа такого:
Код

// через getServletContext().getResource получаем URL для джара с файлами свойтсв
URL url = new URL("jar:"+turl.toString() + "!/");
JarURLConnection jarConnection = (JarURLConnection) url.openConnection();
Enumeration entries = jarConnection.getJarFile().entries();
while( entries.hasMoreElements() )
{
  while( entries.hasMoreElements() )
  JarEntry entry = (JarEntry) entries.nextElement();
  // делаем свое черное дело:)
}


Автор: medi 1.4.2008, 13:11
Во Framework'е "Jboss Seam" есть method, онa делает это:

Код

<h:selectOneMenuvalue="#{localeSelector.localeString}">
<f:selectItems value="#{localeSelector.supportedLocales}"/>
</h:selectOneMenu>
<h:commandButtonaction="#{localeSelector.select}" value="#{messages['ChangeLanguage']}"/>


Я не знаю этот класс "localeSelector" от Framework'a Seam 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)