有什么方法可以访问中的welcome-file-list
元素web.xml
而不必重新解析web.xml
本身?
问问题
196 次
1 回答
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();
也可以看看:
于 2016-07-25T09:45:50.827 回答