2011-01-24 17 views
6

私はSpring 3(およびJ2EE)のWebアプリケーションの構築を一般的に開始しています。 私が見たpetclinicの例では、ヘッダ、インクルード、フッタ、静的なインクルードを使用してそれらを一緒にステッチするような、多くのJSP部分をプログラマが作成することがわかりました。とにかく何を私がしたいことは、私がBase.jspのように、ベースページを持っており、このようなものを含めることが可能であり得ることである。SpringとJSPファイルの動的インクルード

<body> 
<jsp:include page="${subpage}"></jsp:include> 
</body> 

理由は、私はその後、置くことができること、メインページが欲しいということですコントローラーによって返されたModelAndViewの各ページの各部分が(データが添付された状態で)表示されます。これは動作しますが、${subpage}が見つからない場合、エラーは発生しません.jsp名が間違っているか、見つからない場合があります。もっとエラーチェックをしたいのですが...

これを行うには、これが最適ですか?そして、これが私が心に留めていることのための良い考えであると思われるなら、それを行う正しい方法は何ですか?

答えて

1

subpageに追加の引用があるようです。それらを取り除く。たとえば、次のように

<c:set var="subpage" value="/jsp/index.jsp" /> 

あなたはコントローラやサーブレットでそれを設定する必要がある場合 - ちょうどあなたが使用することができ、エラーチェックのためにrequest.setAttribute("subpage", "/jsp/index.jsp")

+0

コントローラクラスでサブページが変更されました。今度はJSPから設定する方法です。 – gotch4

+0

質問を編集しました。それを確認してください – gotch4

0

を使用します。

<c:catch var="myException"> 
    <c:import url="${subpage}" /> 
</c:catch> 

以降あなたがそれを確認することができます:

<c:if test="${myException != null}"> 
... 
</c:if> 
0

Sitemesh(http://www.opensymphony.com/sitemesh)を見てください。使いやすいサーブレットフィルタベースのページレイアウトシステムです。私はSpring MVCでそれを使っていくつかのプロジェクトを行いました。とてもうまく機能しました。

関連する問題