Java 如何使用OGNL检查图像文件是否存在?
我正在创建一个JSP页面,并使用OGNL检查目录中是否存在图像文件,然后显示它,否则显示一个空白图像。有什么办法吗?在JSP中,您可以在Java 如何使用OGNL检查图像文件是否存在?,java,struts2,ognl,Java,Struts2,Ognl,我正在创建一个JSP页面,并使用OGNL检查目录中是否存在图像文件,然后显示它,否则显示一个空白图像。有什么办法吗?在JSP中,您可以在s:if标记中创建一个OGNL表达式,并调用返回布尔值的操作方法。比如说 <s:if test="%{isMyFileExists()}"> <%-- Show the image --%> </s:if> <s:else> <%-- Show blank image --%> </s:e
s:if
标记中创建一个OGNL表达式,并调用返回布尔值的操作方法。比如说
<s:if test="%{isMyFileExists()}">
<%-- Show the image --%>
</s:if>
<s:else>
<%-- Show blank image --%>
</s:else>
或者直接使用文件
属性,如果向其添加公共getter和setter
<s:if test="%{file.exists()}">
<%-- Show the image --%>
</s:if>
<s:else>
<%-- Show blank image --%>
</s:else>
有几种方法可以实现,但是您应该在操作中执行这种业务,并且只从JSP读取布尔值结果。或者至少将文件声明为操作属性,通过Getter公开它并从OGNL调用.exist()
方法:
行动中
private File myFile
// Getter
在JSP中
<s:if test="myFile.exists()">
在myUtilClass
public static boolean doesThisFileExist(){
return new File("someFile.jpg").exists();
}
public static boolean doesThisFileExist(String fileName){
return new File(fileName).exists();
}
或者使用参数
<s:if test="@my.package.myUtilClass@doesThisFileExist('someFile.jpg')" />
或者直接在OGNL中实例化它
<s:if test="new java.io.File('someFile.jpg').exists()" />
如果这个答案有帮助的话,你应该投票并接受它。
public static boolean doesThisFileExist(String fileName){
return new File(fileName).exists();
}
<s:if test="new java.io.File('someFile.jpg').exists()" />