我正在尝试使用jsp中的<c:url>
链接到图像,但它的文件名中包含空格。这意味着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>
编辑:我是个白痴,由于某些原因,这些文件不是png而是png。
答案 0 :(得分:0)
听起来问题是文件扩展名而不是编码。但无论如何......
结果<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>
答案 1 :(得分:0)
如果您在该值中生成的字符串已经完全符合您的要求,那么为什么要使用c:url?
什么阻止您更改此内容:
<img id="passiveAbility" src="<c:url value="/resources/images/abilities/${god.name} - ${god.ability5}.png"/>
就是这样:
<img id="passiveAbility" src="/resources/images/abilities/${god.name} - ${god.ability5}.png"/>