Доступ к значению welcome-file-list в web.xml
Есть ли способ получить доступ к welcome-file-list
элемент в web.xml
без необходимости повторного анализа web.xml
сам?
1 ответ
Решение
Нет. Для этого нет публичного JSF или Servlet API.
Лучшее, что вы можете сделать, это взять JAXP+XPath.
InputStream input = FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream("/WEB-INF/web.xml");
Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(input);
XPathExpression xpath = XPathFactory.newInstance().newXPath().compile("web-app/welcome-file-list/welcome-file");
NodeList nodes = (NodeList) xpath.evaluate(document, XPathConstants.NODESET);
for (int i = 0; i < nodes.getLength(); i++) {
String welcomeFile = nodes.item(i).getFirstChild().getNodeValue().trim();
// ...
}
Если вы используете библиотеку утилит JSF OmniFaces, вы можете использовать ее WebXml
служебный класс.
List<String> welcomeFiles = WebXml.INSTANCE.getWelcomeFiles();