Primefaces处理媒体PDF加载错误



加载PDF时有可能以某种方式处理错误吗?

<p:media value="/resources/media/myDoc.pdf" width="100%" height="800px" zoom="100" player="pdf" cache="false"<>/p:media>

假设PDF文档不在那里,找不到它,如果发生这种情况,我的网络应用程序崩溃。可以处理吗?所以我显示了一个错误消息,而不是咆哮,例如?

感谢

您可以检查@Jasper de Vries注释,否则您可以使用以下bean方法验证文件是否存在:

MyBean.java

public String findFileURL() {
String fileName = "myDoc.pdf";
String relativeWebPath = "/resources/media/" + fileName;
FacesContext facesContext = FacesContext.getCurrentInstance();
String absoluteDiskPath = ((ServletContext) facesContext.getExternalContext().getContext())
.getRealPath(relativeWebPath);
File file = new File(absoluteDiskPath);
if (file.isFile()) {
return relativeWebPath;
} else {
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "File: " + fileName + " not found.", "");
facesContext.addMessage(null, message);
return "";
}
}

MyPage.xhtml

<p:media value="#{myBean.findFileURL()}" width="100%" height="800px" zoom="100" player="pdf" cache="false"/>

最新更新