Using jQuery Templates in Struts2

对着背影说爱祢 提交于 2019-12-24 20:22:48

问题


I am attempting to update a page using Struts2 (using jOWL to display an ontology). The original HTML page uses jQuery templates, having several lines such as:

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

to display a variable determined in a jQuery script file. This works well enough as a .html file. However, the .jsp file thinks I am attempting to use Struts variables rather than a jQuery template. It crashes when it encounters the colon and question mark.

I did find some jQuery Struts2 libraries, but I didn't see any tags that would map to jQuery templates. Is there another way to do this?


回答1:


Your issue is that a jsp thinks ${} is EL. So you need to somehow escape part of the express, this isn't going to be pretty:

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}

Source: http://www.velocityreviews.com/forums/t129212-ot-jsp-escape-el-expressions.html




回答2:


In regards to EL and the suggested pattern:

${'${'}expr}

According to Oracle you can disable the EL parsing: Deactivating EL Expression Evaluation

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

Because the pattern that identifies EL expressions--${ }--was not reserved in the JSP specifications before JSP 2.0, there may be applications where such a pattern is intended to pass through verbatim. To prevent the pattern from being evaluated, you can deactivate EL evaluation.

The valid values of this attribute are true and false. If it is true, EL expressions are ignored when they appear in static text or tag attributes. If it is false, EL expressions are evaluated by the container.



来源:https://stackoverflow.com/questions/6792023/using-jquery-templates-in-struts2

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!