日期:2014-05-19  浏览次数:20675 次

各位,如果用JSTL取文件名的扩展名?
输入:
aaa.jpg
输出:
.jpg

请问如何实现,多谢。

------解决方案--------------------
字符串的截取 substring 和lastIndexOf(".") 来获取文件扩展名
------解决方案--------------------
先导入标签库 <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>

然后使用 ${fn:substring("aa.jpg", ${fn:indexOf("aa.jpg", ".")} , ${fn:length("aa.jpg")} 标签

第二个应该使用lastIndexOf() ,但是文档里面没有看到这个函数 ,你试试。
------解决方案--------------------
XML code

 <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

${fn:substringAfter(picName, ".")}

------解决方案--------------------
看来来晚了
------解决方案--------------------
XML code

${fn:substringAfter(picName, ".")}

------解决方案--------------------
探讨

就是因为没有lastIndexOf这个函数,我才问这个问题的。
用fn:indexOf是有问题的。

------解决方案--------------------
探讨

引用:

就是因为没有lastIndexOf这个函数,我才问这个问题的。
用fn:indexOf是有问题的。

你可以自己写个类,提供这个字符串取文件名后缀的函数,然后自己写个tld文件,就可以用自己的标签做了。
不复杂,自定义EL函数的做法请参阅
http://blog.csdn.net/caoyinghui1986/article/details/224368……