2

私はjspを初めて使用するため、すべてのページで静的な繰り返しコードを使用してプロジェクトのコーディングを開始しました。たとえば、すべてのページの head セクションで、現在ログインしているユーザーがいるかどうかを確認し、ログインしている場合は body セクションでそのユーザーの名前を使用し、そうでない場合はログイン ページにリダイレクトします。

したがって、私のページでは次のものが必要です。

<%@ page language="java" 
         import="com.ptm.UserBean"
 %> 
<!DOCTYPE html>
<html lang="en">
<head>
<title> this is my title </title>
<jsp:include page="head-section.jsp" >
</head>
<body >
<jsp:include page="header.jsp" >
</body>
</html>

head-section.jsp には、jquery と私の css シートをインポートするいくつかの html があります。次に、上記のインデックス ページの UserBean インポートに依存する jsp コード ブロックと、いくつかの javascript があります。

header.jsp インクルードは、head-section.jsp コード ブロックで設定された jsp 変数を使用します。

だから私の質問は、私が含めているこれらの個別のjspはそれ自体では機能しませんが、含まれているとページで機能するはずです。これにより、繰り返しコードの量が削減されます。これはこれを行うための最良の方法ですか?タグファイルについて聞いたことがありますが、それを実装する方法がわかりません。

よろしくお願いします。

4

2 に答える 2

2

タグ ファイルは間違いなく優れた代替手段であり、非常に使いやすいです。すばらしいのは、パラメータを送信して再利用性を向上できることです。

基本的な手順は次のとおりです (チュートリアルから): タグを /WEB-INF/tags (.tag ファイルとして) に保存すると仮定すると、jsp に次の行を含める必要があります。

<%@ taglib tagdir="/WEB-INF/tags" prefix="h" %>

タグファイル(と呼びましょうresponse.tag)は次のようになります

<%@ attribute name="name" required="true" %>
<h2>Hello, ${name}!</h2> 

これは、name という 1 つのパラメーターが必要であることを意味します。その後、次のように呼び出します

<h:response name="world"/>

どちらに展開しますか

<h2>Hello, world!</h2>

出力で。

于 2012-11-15T12:07:30.717 に答える
1

includeディレクティブを使用できます:

<jsp:include page="..." />

静的リソースの場合、次を使用する必要があります。

<%@ include file="filename" %>
于 2012-11-15T11:56:10.113 に答える