setAttribute()したりgetAttribute()するときの識別子はどこで定めたらいいんだ?

今は「ATTRNAME_」で始まる,private final String型定数をサーブレットで定義している.しかしリダイレクトした先のJSPで,どう利用するんだ?コピペなんてしてらんねーぞ.(しかし今はコピペしかない)

JSPではincludeディレクティブ,Servletではincludeメソッド

JSPでのincludeは2つある.

<%@ include file="WEB-INF/jspf/menu.jspf" /* includeディレクティブ */%>
<jsp:include page="WEB-INF/jspf/menu.jspf" flush="true"></jsp:include><%-- jsp:include要素 --%>

前者はfileを取り込んだものとして全体のJSPコードがコンパイルされるとのことだ.fileのJSP要素は有効となる.しかし後者は,そのままのデータが飛び出てくる.HTMLは反映されるが,JSP要素はそのまま表示された.さらに参照元のif()などで,includeの実施を制御できるらしい.

取り込まれるファイルは拡張子「.jspf」が標準らしく,また「/WEB-INF/jspf/」以下に配置して,隠すのが普通らしい.ばっちゃ,いやNetBeans IDEがそう言った.

サーブレット側ではforward()と同じノリでinclude()が用意されている.いくつかの説明ページでは,「include()対象へ処理が移るが,forward()と違って,処理完了後にinclude()元へ戻ってくる」「doPost()で処理していたならinclude()側のdoPost()へ飛ぶ」との事.「リダイレクトしていったファイル中のメソッドで定義」なんて,jspfをインクルードすることとは,かけ離れている.

jspfに定義していて,そこでincludeするのはふさわしくない.

暗黙的オブジェクトconfig

  <!-- (1)<servlet-name>タグと<jsp-file>タグで
          JSPプログラムに対するServlet名を指定します。 -->
Javaの道:JSP(10.暗黙オブジェクト(config))

なんだこのコメントは.これで確定なんじゃね.複数個に対して作れるのか.

というのは誤解だった.configスコープを使う場合では,JSP側とサーブレット側とで,独立している必要があった.それぞれで同じ事を書かねばならない.2度記述するなどナンセンスだ.