的
<c:url>在其值中指定,但是它们通过一个嵌套仅指定URL请求参数不编码的URI
<c:param>。您链接的IBM文章也没有其他说明。我认为您将其与“
URL重写”(实质上是仅
jsessionid在必要时添加)混淆了。
<c:url>当禁用cookie时,确实也是如此。
为了满足您对URI参数编码路径参数的要求,最好是创建一个自定义EL函数,该函数委托
URLEnprer#enpre()并更改结果符合URI规则。
<a href="/user/${util:enpreURI(user.name)}">view profile</a>与
public static String enpreURI(String value) throws UnsupportedEncodingException { return URLEnprer.enpre(value, "UTF-8") .replace("+", "%20") .replace("%21", "!") .replace("%27", "'") .replace("%28", "(") .replace("%29", ")") .replace("%7E", "~");}在该答案的第二部分,您可以找到一个基本的启动示例,该示例如何声明和注册自定义EL函数。



