JSF стоит перед файлом конфигурации вне СЕТИ-INF?

Принятие Вашего объекта похоже:

public class Student
{
    public string LastName { get; set; }
    public string FirstName { get; set; }
    public string Degree { get; set; }
    public int Grade { get; set; }
}

можно отсортировать его с помощью запроса Linq:

var sortedStudents = students
    .OrderByDescending(s => s.LastName)
    .ThenBy(s => s.Degree)
    .ThenBy(s => s.Grade)
    .ThenBy(s => s.FirstName);

foreach (var student in sortedStudents)
{
    Console.WriteLine("{0}", student);
}
6
задан PlagueHammer 2 September 2009 в 01:51
поделиться

3 ответа

Это возможно, но не рекомендуется. Причина, по которой вы помещаете файлы конфигурации в WEB-INF, заключается в том, что сервер знает, что эти файлы не следует обслуживать - у вас есть код, конфигурация базы данных и другие важные вещи.

Вы не можете использовать "/ WebContent / WEB-INF / faces-" config2.xml "- AFAIK" WebContent "специфичен для eclipse. Имена конфигурационных файлов должны быть абсолютными внутри WAR. Это означает, что они всегда будут начинаться с "/WEB-INF/".

".
7
ответ дан 16 December 2019 в 21:44
поделиться

Если вы ссылаетесь на них из файла web.xml, тогда файл должен находиться в состоянии войны во время выполнения. Есть и другие способы, которыми контейнер может обнаруживать ресурсы faces-config.xml.

10.4.2 Во время запуска приложения перед обработкой любых запросов реализация JSF должна обрабатывать ноль или более ресурсов конфигурации приложения, расположенных в соответствии со следующим алгоритм:

  • Искать все ресурсы с именем «META-INF / faces-config.xml» в Пути к ресурсам ServletContext для этого веб-приложения и загружать каждый как JSF ресурс конфигурации (в обратном порядке, в котором они возвращаются getResources () в ContextClassLoader текущего потока).

  • Проверить наличие параметра инициализации контекста с именем javax.faces.CONFIG_FILES. Если он существует, рассматривайте его как список разделенных запятыми контекстно-относительные пути к ресурсам (начинающиеся с «/») и загрузить каждый из указанных ресурсы.

  • Проверьте наличие ресурса конфигурации веб-приложения с именем «/ WEBINF / Faces-config.xml »и загрузите его, если ресурс существует.

0
ответ дан 16 December 2019 в 21:44
поделиться

Как упоминалось в ответе Дэвида, не рекомендуется размещать файлы конфигурации за пределами каталога WEB-INF. Однако, если вы ищете способы организовать свой проект, вы можете попробовать создать новый подкаталог в WEB-INF.

Например, когда я имею дело с большим количеством файлов конфигурации лиц , Я создам каталог / WEB-INF / config и помещу туда файлы faces-config.

1
ответ дан 16 December 2019 в 21:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: