我正在尝试使用 <c:url>
链接到图像来自 jsp,但文件名中包含空格。这意味着 url 会转换为 %20
。就在它的名字里,但没找到。是否有办法在不重命名每个文件以不包含空格的情况下实现此目的?
<ul id="abilityTabs" data-tabs="abilityTabs" class="nav nav-tabs">
<li class="active"><a href="#passiveTab"><img id="passiveAbility" src="<c:url value="/resources/images/abilities/${god.name} - ${god.ability5}.png"/>" alt="Banner"></a></li>
<li><a href="#ability1Tab"><img id="ability1" src="<c:url value="/resources/images/abilities/${god.name} - ${god.ability1}.png"/>" alt="Banner"></a></li>
<li><a href="#ability2Tab"><img id="ability2" src="<c:url value="/resources/images/abilities/${god.name} - ${god.ability2}.png"/>" alt="Banner"></a></li>
<li><a href="#ability3Tab"><img id="ability3" src="<c:url value="/resources/images/abilities/${god.name} - ${god.ability3}.png"/>" alt="Banner"></a></li>
<li><a href="#ability4Tab"><img id="ability4" src="<c:url value="/resources/images/abilities/${god.name} - ${god.ability4}.png"/>" alt="Banner"></a></li>
编辑:我是个白痴,由于某种原因,文件是 jpg 而不是 png。
最佳答案
听起来问题出在文件扩展名而不是编码上。但无论如何...
结果是<c:url>
根本不进行 URL 编码(查询字符串参数除外)。请参阅How to encode a String representing URL path with JSTL?
您可以使用Spring's URL tag对模板变量进行编码:
<spring:url value="/url/path/{variableName}">
<spring:param name="variableName" value="more than JSTL c:url" />
</spring:url>
关于java - JSTL c :url to a file with spaces in its name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29287840/