2012-05-07 4 views
-1

を含むが、これほど多くの<%%>は私が包含ロード順序を維持する必要があり、以下のコードを使用してステートメント

base.jspを使用せずに、文法的にこれを達成するためのより良い方法がある場合、私は思ったんだけど

<% 

List<String> cssFiles = new ArrayList<String>(); 
List<String> jsFiles = new ArrayList<String>(); 

/* 
* Load all CSS/JS files we want on every page 
*/ 

%> 
<%@ include file="includes/jquery.jsp" %> 
<% 

cssFiles.add("/css/global"); 
jsFiles.add("/js/global"); 

%> 
<%@ include file="includes/jquery_ui.jsp" %> 

view.jsp

<%@ include file="../base.jsp" %> 
<% cssFiles.add("/css/content/view"); %> 
<%@ include file="../header.jsp" %> 

答えて

1

Model-View-Controllerパターンを使用してすべてのコードをControllerに移動する方がはるかに良い方法です。そのため、JSPの最初の部分に多くの<% %>が含まれないようにしてください。

+0

これは私が元々すべてのセットアップをしていた方法です...しかし、私はそれに問題に遭遇しました... http://stackoverflow.com/questions/10352472/how-to-reset-values-on-each-page- view/10484709 – Webnet

+0

Listの代わりにSetを使うことでこの問題は簡単に修正できるので、コレクション内のすべての要素は一意です。 –

+0

いいえ、他の問題は単なるアイテムではなく、ページAの2つのcssファイルを持っていました。ページBのほうが1つ、CSS 5の5つのCSSファイルが必要でした。このメソッドは、ページが変更されたときにcssFiles配列からデータを消去しませんでした。 – Webnet

0

最新のJSPアプリケーションでは、<% /*foo*/ %>という形式のスクリプトレットコードスニペットを使用する必要はありません。 Expression Languageを使用してビューにデータを注入し、表示ロジックにタグライブラリを活用します。

開発のMVCアプローチを使用してください。開発者は一般にフレームワークを活用しています(その中には多くのものがあります)。

少なくとも、servlet as a controller and just utilize the JSP as the viewを使用してください。

+0

私はアプリケーションにCSS/JSファイルを含める良い方法がまだ見つかりませんでした。 JSP内でこれを行うことは、読み込み順序を制御し、特定のcss/jsファイルだけが必要なページに読み込まれるようにするための唯一の方法です。 – Webnet

関連する問題