在JSP中包含/导入文件之前,如何检查文件是否存在?
假设 requestScope.importMe 期望一个JSP文件的路径
<c:choose> <c:when test="${!empty requestScope.importMe && fileExists(requestScope.importMe) }">
<c:import url="${requestScope.importMe}" />
...
</c:choose>
如何在尝试包含文件之前检查文件是否存在,以免引发错误?
我希望使用JSTL标签的解决方案。
回答:
将其放在c:catch
标签中。它会抓住任何抛出Exception
给您的东西。
<c:catch var="e"> <c:import url="${url}" />
</c:catch>
<c:if test="${!empty e}">
Error: ${e.message}
</c:if>
但是,我必须承认我不喜欢这种c:catch
方法。滥用异常来控制流程。如果可以的话,宁可使用(和)在servlet或JavaBean中完成此工作。File#exists()``ServletContext#getRealPath()
以上是 在JSP中包含/导入文件之前,如何检查文件是否存在? 的全部内容, 来源链接: utcz.com/qa/399378.html