2016-03-21 10 views
5

HTMLファイルのようなJSPファイルは、URLで直接リクエストできます。しかし、JSPファイルは実行時にコンパイルされ、HTMLファイルはコンパイルされません(どちらも同じ方法で要求されますが)。動的コンテンツのないJSPファイルでも、内部的にサーブレットに変換されるため、実行時にコンパイルされます。 JSPファイル内にHTMLファイルを含めることはできますが、それ以外の方法で行うことはできません。ユーザーにリソースを提供するのに非常に多くのコンポーネントが含まれています(ServletsRequestResponseWebserverなど)。JSPコンテンツは目に見えて

  1. ファイルの拡張子を調べてファイルをコンパイルする必要があるかどうかを判断するコンポーネントはどれですか?

  2. SightlyはHTMLファイルであり、理想的にコンパイルされるべきではありませんが、本体内にJSPコードを含むことができますが、それはできます。どうやって?

+0

すべてのJSPファイルはSerlvetに変換されます。 JSPファイルが変更されない限り、変換後は再コンパイルされません。 jspとして保存された単純なHTMLファイルでも、サーブレットに変換されます。 – asb

+0

jsp関連のコードが入っているhtmlとして保存されたhtmlファイルはどうですか?これは見事に動作します! –

+0

jspコードを通常のテキストとして出力します。 – Dhruv

答えて

2

見た目だけ成分の一部として含めることができる:ここ

Adobe's docsの例です。見た目はHTML5(.htmlで終わる)ですが、視覚的にはSightly engineでコンパイルされます。 JSPファイルが含まれている目に見えるファイルを持つことが可能です。

2

は、私は完全に必ずご質問が何であるかを理解したが、その後Apacheのスリングがある「スクリプトエンジン」を把握するパスに定義されたサーブレットが存在しない場合は、ここで私の試み

  1. だありませんhttpリクエストメソッドや拡張子(.jsp vs .html)などに基づいて使用します。 See here。その後のリクエストで何をするかは、エンジン(例:JSPエンジンや視界の良いエンジン)によって決まります。

  2. 視覚的なファイルの中にJSPコードが書かれていれば、単にレスポンスで印刷されます。私はローカルホスト上でSightly Replを使ってこれをテストしました。

ので、見た目のようになります応じて内容

<c:set var="foo" value="bar"/> 
<div>${foo}</div> 

結果とfoo.htmlを提出。

視覚的には、jspタグを除外したり評価したりすることはできません。スコープ内にfooという視覚変数がないため、${foo}はなくなります。


もう1つの注意:実際には、SightlyのJSPファイルを含めることができます。

<section data-sly-include="path/to/template.jsp"></section> 
関連する問題