2011-07-22 14 views
0

Struts2(using jOWL to display an ontology)を使用してページを更新しようとしています。 jQueryのスクリプトファイルで決定した変数を表示するためにStruts2でjQueryテンプレートを使用する

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

:元のHTMLページは、次のようないくつかの線を有する、jQueryのテンプレートを使用しています。これは.htmlファイルとして十分に機能します。しかし、.jspファイルは、jQueryテンプレートではなくStruts変数を使用しようとしていると考えています。コロンと疑問符が出たらクラッシュします。

jQuery Struts2 librariesが見つかりましたが、jQueryテンプレートにマップするタグはありませんでした。これを行う別の方法がありますか?

+0

の可能重複[jQueryのTMPLとJSPコードうまくプレイしていない。](http://stackoverflow.com/questions/6380074/jquery-tmpl-and-jsp-code-not-playing-nicely) – BalusC

答えて

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} 

出典:

${'${'}expr} 

:ELと示唆したパターンに関してはhttp://www.velocityreviews.com/forums/t129212-ot-jsp-escape-el-expressions.html

+0

すなわちそれをコンパイルします([疑問符のエスケープ](https://github.com/blueimp/jQuery-File-Upload/issues/359))! しかし、どちらの場合も、テンプレート変数結果ではなくテキストを表示します(ワインではなく$ {rdfs:label}のように)。 Tomcatサーバー(またはEclipse Webブラウザー)に問題があるのか​​、それとも何か不足しているものがあるかどうかはわかりません。 – winchella

+0

私は何かが欠けているように感じ始めている。 jQueryテンプレートはクライアント側です。したがって、ページがエスケープされたTomcatに到着しているか、またはアプリケーションサーバーがそれ以上責任を負うことはありません。次に、クライアントはページをロードし、jQueryスクリプトを実行して、それらの変数を解析します。 – Quaternion

+0

明らかに、スクリプトにはInternet Explorerの問題がありました(何らかの理由で、Strutsプロジェクトにのみ現れ、同じものの.htmlバージョンではありません)。私が閲覧しようとしていたファイルの拡張子を変更したり、Firefoxでそれを見た場合、テンプレートデータが正常に表示されました。私はまだそれを考え出している。 ありがとう!あなたのご意見はとても役に立ちました。 – winchella

1

Oracleによると、EL解析を無効にすることができます:Deactivating EL Expression Evaluation

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

EL式($ {})を識別するパターンがJSP 2.0以前のJSP仕様では予約されていなかったため、そのようなパターンが逐語的に通されるようなアプリケーションが存在する可能性があります。パターンが評価されないように、EL評価を無効にすることができます。

この属性の有効な値はtrueとfalseです。真の場合、EL式は静的テキストまたはタグ属性に現れるときは無視されます。 falseの場合、EL式はコンテナによって評価されます。

関連する問題