JSPには、

ディレクティブ
<% include file = "guide.jsp"%>
と、
アクション
<% jsp:include page = "guide.jsp" flush = "true" %>

の二種類のインクルードがあるのは分かるのですが、
分かりやすくいうと、どのような用途によって使いわけるのですか?
ディレクティブのほうは、DB CONNECTというような、
JSPファイルを読み込む時に一度実行すればいいというようなものを
インクルードしており、
アクションのほうは、JSPファイルの<BODY>部で、guide.jspのなかのものを
必要な時に呼び出したりしているみたいです・・・・

自分ではそのように解釈したのですが、明確な答えが、本などを調べてみても
いまいちピンとこないので、簡単な言葉で使い分けの用途があるのか、
それとも、それ以外の理由で、インクルードの仕方が違うのか、
教えて頂きたいです。

このQ&Aに関連する最新のQ&A

DB とは」に関するQ&A: Thumbs.dbとは?

A 回答 (1件)

参考URLにご期待の答えが書いてあります。



私も JSP をこれから使い出すので、色々調べているところです。
ピント外れの回答であれば、ご容赦を。

参考URL:http://www02.u-page.so-net.ne.jp/qa2/masa_o/tsjs …
    • good
    • 0
この回答へのお礼

ありがとうございました!
使い方の用途としては、自分が思っていたとおりだったみたいです。
JSPファイルしか指定できないものと、JSPファイル・HTMLファイル両方を
指定できるものがあるという、違いがあるのですね!
本当にありがとうございました。

お礼日時:2001/05/29 09:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Q<Tomcat>存在しないJSPをインクルードした

<Tomcat>存在しないJSPをインクルードしたときに
表示されるエラーを表示しないようにしたい

かなり不可解な要求だとは思います。が、とある理由でこのような要求を必要としています。

Tomcatでは、存在していないJSPやHTMLを、<jsp:include>でインクルードすると、
The requested resource (/tw/store/haoki/include/miss.html) is not available
といったエラーが画面に表示されてしまいます。

存在しないJSPなどをインクルードしたときでも、このエラーを画面に表示しないようにしたいです。

何か方法はありませんか?(できればTomcatの設定など、設定ですむようにしたいです。)

あ、コーディングで回避する方法ならすでに調査済みです。
JSPファイルが1000を超えているため、コーディングで対応するというのは、できる限り回避したいのです。

Google使ってかなり調べてみましたが、方法は見当たりませんでした。

どうか、よろしくお願いいたします。

Aベストアンサー

方法は無いと思います。

jsp:include に対応するソースの exception を握りつぶせばいいのかもしれませんが、やってはいけない対応だと思います。(結果本来 include しなければいけないファイルが漏れていても気づかなくなりますよね?)
読み込もうとしたファイルがない場合にエラーを出す以外に、tomcat にどう振舞えと?

1000 以上あるjsp ファイルがあっても影響を受けているのは実際どれくらいでしょうか?
本当に一律な対応してもいいのでしょうか?

まずい状況になっているのに、まずい対応をすることは、問題を大きくしたまま先送りすることになるので、将来的に大きなツケを回すことになります。

エンジニアの良心に基づいて、あるべき状態(必要ないファイルをincludeしない)になるよう努力するのが筋だと思いますが、どう思いますか?

QJSPのインクルードアクションについて

AAA.jspというファイルの中で
<jsp:include page="BBB.jsp" flush="true" />
とインクルードアクションでBBB.jspをインクルードしている個所があります。そのBBB.jspの中でresponse.addcookie()を使いたいのですが、正常に動作しません。不必要な個所は削除し、cookie発行の個所だけ残しても同じ結果です。JAVA初心者で改修を頼まれて困っています。漠然とした質問で申し訳ないのですが、どのような問題が考えられるでしょうか?宜しくお願い致します。

Aベストアンサー

確かにすこし質問が漠然としすぎです。
JAVA_HOUSEメーリングリストなどで
質問の仕方を勉強した方がいいかも。

1.今回の問題ですが
上記のインクルードを行った
JSPは表示されるがCookieがadd
されていない、というのが問題ということでよろしい
でしょうか?
もし、そうではないならおしえてください。

2.1.の問題であっている場合、試してみたところ
先の回答のように<%@ include file="BBB.jsp" %>
でうまくいくようです。

JSPのインクルード方法は二つあります。↓
http://www.atmarkit.co.jp/fjava/javafaq/jsp/jsp09.html
参照URLのとおり
<jsp:includeでやっていると
インクルード先に転送をするので
転送用のレスポンスにクッキーを追加することになります。
詳しくはわたしもわかってないんですが
多分このせいでうまくいかないんでしょうね。

QJSPにおけるPageディレクティブ記述

こんにちは、Strutsを勉強しているものです。
ユーザが入力したID, パスワードをフォワード先のJSPで表示するといった簡単なアプリーションを作成していますが、JSP表示時に500エラーとなってしまいます。エラー理由としてpageタグが終了していないことがあげられています。しかし、通常JSPで記述するpageディレクティブには閉じるタグは記述不要と考えています。どのようにすればこのエラーを回避できるのでしょうか。

▽JSPソース
<%@ page contentType="text/html"; charset="Shift_JIS" %>

<html>
<head>
<title>Login Result</title>
</head>
<body>
<%= (String)request.getAttribute("message") %>
</body>
</html>

※バージョン情報
Tomcat 5.5
JDK 1.5
Struts 1.2.4

こんにちは、Strutsを勉強しているものです。
ユーザが入力したID, パスワードをフォワード先のJSPで表示するといった簡単なアプリーションを作成していますが、JSP表示時に500エラーとなってしまいます。エラー理由としてpageタグが終了していないことがあげられています。しかし、通常JSPで記述するpageディレクティブには閉じるタグは記述不要と考えています。どのようにすればこのエラーを回避できるのでしょうか。

▽JSPソース
<%@ page contentType="text/html"; charset="Shift_JIS" %>

<html>
...続きを読む

Aベストアンサー

<%@ page contentType="text/html"; charset="Shift_JIS" %>
 ↓
<%@ page contentType="text/html;charset=Shift_JIS" %>

ではないかと思うが?

Qを <%= %>で出力。コンパイルエラー

<bean:define>を <%= %>で出力するのは、だめですか?

 <bean:define id="maxnum" name="ActionForm" property="num" type="java.lang.String"/>
 alert('<bean:message key="A00011" arg0="<%=num%>" />');
                               ^^^↑ここ

実際に動かすと正常に動くのですが、
WebSphereDeveloperでビルドをすると、
 JspCompile: シンボルを解決できません。; シンボル: 変数 num;
といわれます。

どうすれば、エラーがでないように出来ますか?

Aベストアンサー

<bean:define>タグが、alertの前で />で閉じているのが気になりますが。。。

<jsp:attribute>タグを利用してみるとか。

<bean:define id="maxnum" name="ActionForm" property="num" type="java.lang.String">
 alert('<bean:message key="A00011">
<jsp:attribute name="arg0"><%= num %></jsp:attribute></bean:message>');
</bean:define>

参考URL:http://www.techscore.com/tech/J2EE/JSP/3-6.html

QJSPでCのようにヘッダーファイルをインクルード

JSPでCのようにヘッダーファイルをインクルード

お世話になります。
JSPでウェブページを作成しています。
ページ読み込み部分で前のページからPOSTされた情報に対して、
条件式を使い「真」ならそのページを表示、
偽の場合にはresponse.sendRedirect("URL");で別ページへジャンプをさせようと考えています。

その際に条件の判定に定数を使用したいのですが、
その定数は他のページでも使用する場合があるため、
C言語のヘッダーファイルのように、
別ファイルを用意して使い回しをしたいのですが…

//test.h-----------------------------
#pragma once
const int CHECK_NUM = 15;
//-----------------------------------

//test.c
#include <stdio.h>
#include "test.h"

int main(){
int n = 10;

if(n < CHECK_NUM){
//真
}
else{
//偽
}
return 0;
}

このようにすればC言語では外部にかかれた定数を使用することができると思うのですが
JSP,JAVAともに未経験のため詰まっています。(目下勉強中です)

JSPで同様のことをするにはどのようにしたらよいのか教えていただきたいです。

質問をするにあたり情報の不足などがあるかもしれません。
その際にはお手数ですが、解答にてご指摘いただけると助かります。

宜しくお願い致します。

JSPでCのようにヘッダーファイルをインクルード

お世話になります。
JSPでウェブページを作成しています。
ページ読み込み部分で前のページからPOSTされた情報に対して、
条件式を使い「真」ならそのページを表示、
偽の場合にはresponse.sendRedirect("URL");で別ページへジャンプをさせようと考えています。

その際に条件の判定に定数を使用したいのですが、
その定数は他のページでも使用する場合があるため、
C言語のヘッダーファイルのように、
別ファイルを用意して使い回しをしたいのですが…

//test.h--...続きを読む

Aベストアンサー

適当なクラスにstatic finalなフィールドとして定数を持たせて、そのクラスを複数のページから参照すればいいでしょう。


人気Q&Aランキング

おすすめ情報