0

我正在尝试使用 Struts2 更新页面(使用 jOWL 显示本体)。原始 HTML 页面使用 jQuery 模板,有几行,例如:

<h2 class="propertybox title" data-jowl="rdfs:label">${rdfs:label}</h2>
<span class="alt">${?p}</span><span>: </span><span>${?t}</span>

显示在 jQuery 脚本文件中确定的变量。这作为一个 .html 文件工作得很好。但是,.jsp 文件认为我正在尝试使用 Struts 变量而不是 jQuery 模板。遇到冒号和问号时会崩溃。

我确实找到了一些jQuery Struts2 库,但是我没有看到任何可以映射到 jQuery 模板的标签。还有另一种方法可以做到这一点吗?

4

2 回答 2

1

您的问题是 jsp 认为 ${} 是 EL。所以你需要以某种方式逃避部分快递,这不会很漂亮:

From the JSP 2 spec:

For literal values that include the character sequence ${, JSP 2.0 provides a
way to escape them by using the sequence ${'${'. For example, the following
character sequence is translated into the literal value ${expr}:

${'${'}expr}

资料来源:http ://www.velocityreviews.com/forums/t129212-ot-jsp-escape-el-expressions.html

于 2011-07-22T18:35:56.653 回答
1

关于 EL 和建议的模式:

${'${'}expr}

根据 Oracle,您可以禁用 EL 解析:停用 EL 表达式评估

<%@ page isELIgnored ="true|false" %> 

因为标识 EL 表达式的模式——${ }——在 JSP 2.0 之前的 JSP 规范中没有保留,所以可能存在这样的模式打算逐字传递的应用程序。为防止模式被评估,您可以停用 EL 评估。

此属性的有效值为 true 和 false。如果为真,EL 表达式出现在静态文本或标记属性中时将被忽略。如果为假,EL 表达式由容器计算。

于 2011-08-06T10:57:01.297 回答