【发布时间】:2015-10-30 11:30:56
【问题描述】:
我有用于 JSP 页面的 Java 类。 getAttr() 返回一个字符串,其中包含任意数量的 HTML 锚元素,这些元素指向我的 Web 应用程序本地的 URL:
public class C {
public String getAttr() {
return "foo <a href = \"/index.html\">bar</a> baz";
}
}
和
<c:set var = "c" value = "..."/>
${c.attr}
只要使用默认上下文 (/),一切都很好。可以通过使用类似<a href = "<c:url value = "..."/>">...</a> 的smth 来解释非默认上下文,但这是特定于JSP 的。像 return "<a href = \"<c:url value = \"...\"/>\">...</a>"; 这样的 Java 代码的 JSTL/EL 注入不起作用(也不应该)起作用。
如何在不暴露 Java 类内部结构的情况下支持非默认上下文?在 JSP 范围之外手动创建超链接至少是丑陋的,但我已经没有想法了。
【问题讨论】: