我在jsp文件中有我的标签${file.name}
,以显示要下载的文件名
name
包含完整的文件名,包含文件扩展名。例如
testfile.png
a-file.zip
testfile的-test505454654.png
A-filenum5468.docx
other_file_with_a_name_very_very_very_larrrrrrrrrrrrrrrrrrrrrge.pdf
名称很长的文件会导致布局崩溃。
我认为格式化文件名以缩短它但包含扩展名的方法。也许
testfile.png
a-file.zip
testfile-test505454 .... png *
A-filenum5468.docx
other_file_with_a_na .... pdf *
我该怎么做?
在href中没问题,因为它是由id ${file.id}
答案 0 :(得分:2)
如果file
是POJO,您可以向POJO(类似String getShortName(){}
)添加一个getter方法,返回文件名的简短版本。然后在EL表达式中使用该方法:${file.shortName}
。
答案 1 :(得分:1)
我会编写并注册一个自定义标记,用于将输出缩短到最大长度
<custom:short value="${file.name}" var="shortFileName" />
标签将根据您在元素中指定的默认值或值来处理缩短,并将结果放在请求属性中,您可以在声明后的任何位置使用该属性。
答案 2 :(得分:1)
由于要求可以多次使用,所以您应该使用像@Sotirios Delimanolis建议的CUSTOM标签解决方案。
JSTL函数(如c:fn)是另一种解决方案。使用jstl函数比Custom标签(简单/经典模型)获得更好的性能
链接:http://www.noppanit.com/how-to-create-a-custom-function-for-jstl/