2010-12-10 28 views
2

適切にレンダリングされないTomcatでJSPページが実行されています。ここでhelloworld.jspが見えるものであるように:TomcatでJSPが正しくレンダリングされない

<%@ page contentType="text/html;charset=UTF-8" language="java" %> 
<%@ taglib uri="cms-taglib" prefix="cms" %> 
<html> 
    <head> 
    <title>${content.title}</title> 
    </head> 
    <body> 
    <cms:mainBar 
     dialog="my-page-properties-dialog" 
     label="Page Properties" 
     adminButtonVisible="true"/> 
    <h1>${content.title}</h1> 
    <p>Hello Magnolia World !</p> 

    Current time: <%= new java.util.Date() %> 
    <%-- JSP Comment --%> 

    </body> 
</html> 

と最終的な出力は次のようである:

<% @ページ のcontentType = "text/htmlの;のcharset = UTF-8" 言語= "Javaの" %> <%する@ taglibの マグノリア世界こんにちは> = "CMS-taglibの" 接頭辞= "CMS" %URI!

こんにちはマグノリアワールド!現在時刻: <% =新しいjava.util.Date()%> <% - JSPが コメント - %>

要するに

が、それだけで式$ {content.title}のように思えるがあります評価とレンダリングはうまくいっていますが、ページ・ディレクティブや他のJSP式やJSPコメントのようなものはありません。

私は、Tomcatが付属していますが、JSPが分布からのサンプルが細かいように見えるテンプレートCMSを使用しています。私は上に書いたコードから何かが間違っていると思います。

更新日:日付式とコメントの終了タグを修正しました。ただし、ページ・ディレクティブは解析されていません。

+0

、あなたは意味ですか? – BalusC

+0

ビューソースと全く同じではありません。それは「部分的に」レンダリングされます。 htmlとpタグはうまく描画されます。また、content.titleの値はきれいに評価されます。 – Steve

+0

WebBrowserやHTMLソースに '<% %>'というものがありますか?webbrowserの場合は、HTMLソースで '<%%>'とエスケープされていることを意味します。 – BalusC

答えて

1

問題が見つかりました。それは私の最後の愚かな間違いです。私は正しいJSP構文を修正してjsp拡張子を持っていましたが、CMSエンジンにそのテンプレートをJSPとして明示的に表示するように指示する必要がありました。私の構文エラーをキャッチ誰もありがとう。他のフレームワークと一緒に作業するときは注意が必要だと思います。あなたは、*ソースの表示*ブラウザで右クリックで見るようにあなたがウェブブラウザまたは生成されたソースで見るものは何でも、最終的な出力と

+1

私はこの投稿が5歳であることを知っています。私は同じ問題を抱えています。私はその問題を理解していますが、それをどのように解決したのかはわかりませあなたはもっと詳しく説明できますか? – Drew1208

1

私は、JSPのコメントに問題があると思います。

以下のようになります。 IDEを使用してJSPを開発していませんか?あなたのIDEはあなたに構文エラーがあるときあなたに伝えるべきです。

<%@ page contentType="text/html;charset=UTF-8" language="java" %> 
<%@ taglib uri="cms-taglib" prefix="cms" %> 
<html> 
    <head> 
    <title>${content.title}</title> 
    </head> 
    <body> 
    <cms:mainBar 
     dialog="my-page-properties-dialog" 
     label="Page Properties" 
     adminButtonVisible="true"/> 
    <h1>${content.title}</h1> 
    <p>Hello Magnolia World !</p> 

    Current time: <%= new java.util.Date() %> 
    <%-- JSP Comment --%> 

    </body> 
</html> 
+0

これは、ディレクティブ(上の2行)が解析されない理由を説明していません。 – BalusC

+0

私はこのコードをcms taglibなしで実行しました(私はそれをインストールしていないので)、エラーはまったくありません。それから、私もcmsで実行しました(たとえ私がインストールしていなくても)。私のtomcatがorg.apache.jasper.JasperExceptionを発生させました:ファイル "/ cms-taglib"が見つかりません。最後に、タグを閉じずに実行しましたが、例外も発生しました。私はSteveが部分的にレンダリングする方法を知ることができません。 – gigadot

1

Javaは<%= new java.util.Date() %も適切に(<%= new java.util.Date() %>を)閉じプラスgigadotのように記載されていないスクリプトレット、<%-- JSP Comment --%が正しく<%-- JSP Comment --%>閉じられていません。

よろしく、

0

通常、私たちは、ファイルがパーサによって認識されない場合、ブラウザに表示されたコード、すなわちファイル拡張子がパーサーリストに追加されません参照してください。

通常のtomcat/confフォルダの下のweb.xmlでこの構成を有しています。また

、あなたがコードにいくつかのテキストエディタを使用している場合、あなたが誤って、.jsp.txtのみ拡張子.jspを格納していないことを確認してください!

関連する問題