- PR -

WEB-INF以下に配置したJSPのフレーム表示について

1
投稿者投稿内容
つんく
会議室デビュー日: 2005/02/02
投稿数: 8
投稿日時: 2005-02-02 17:14
はじめまして。Strutsを勉強しているものです。
フレーム分割で困っています。
初心者なので、意味不明なことを言っているかもしれませんが、
よろしくお願いします。

・WebApp/WEB-INF/JSP/Title/title.jsp
・WebApp/WEB-INF/JSP/Menu/menu1.jsp
・WebApp/WEB-INF/JSP/Menu/menu2.jsp

といったファイルがあります。
menu1.jspを上下2つにフレーム分けし、上からtitle.jsp、menu2.jsp の順で
表示したいと思っております。

menu1.jspの内容はだいたいこんな感じです。
どのようにしてtitle.jspやmenu2.jspのパスを指定したらよいでしょうか?
はたまたWEB-INFの下にあるものをフレームで表示できないのでしょうか?

<FRAMESET ROWS="50,*" frameborder=no border="0">
<html:frame page="<title.jspを表示したい>"
frameName="frmKessaiTop"
scrolling="no"
noresize="yes"/>
<html:frame page="<menu2.jspを表示したい>"
frameName="frmMain" />
</FRAMESET>
Edosson
ぬし
会議室デビュー日: 2004/04/30
投稿数: 675
投稿日時: 2005-02-02 18:06
「WebApp」というのが、Webアプリの名称なんですよね。
となると、場所は、「$CATALINA_HOME/webapps/WebApp/」でしょうか。
この場合は、
コード:
<html:frame page="<title.jspを表示したい>" 


ならば、
コード:
<html:frame page="/WebApp/WEB-INF/JSP/Title/title/jsp" 


で表示できると思います。
つんく
会議室デビュー日: 2005/02/02
投稿数: 8
投稿日時: 2005-02-02 18:42
ご返答ありがとうございます。
「$CATALINA_HOME/webapps/WebApp/」の意味が分からないです。(申し訳ありません...)

私はIBMのWSADのトライアル版を現在使っていまして、
<プロジェクト名>/WebContent/WEB-INF/JSP/...
ってな感じになっております。

<html:frame page="/WebContent/WEB-INF/JSP/Title/title/jsp"
としたところページが見つからず、
/WEB-INF/jsp/title/FANMIBA1.jsp
としたところ何も表示されません。
Edosson
ぬし
会議室デビュー日: 2004/04/30
投稿数: 675
投稿日時: 2005-02-02 19:05
さて、WebShereなんてものをいじくってたのは、いつのことでしたっけ・・・。
Eclipseにはお世話になっていますが。

まず確認したいんですが、menu1.jspは見えてるんですか?

manu1.jspがちゃんと見えているんなら、
コード:
<html:frame page="../Title/title.jsp" 


じゃダメですかね。

p.s.
最初の私の投稿、「title.jsp」とするつもりが、「title/jsp」になってます。m(_ _)m
つんく
会議室デビュー日: 2005/02/02
投稿数: 8
投稿日時: 2005-02-02 19:34
menu1.jspは見えています。
menu2.jspとtitle.jspをWEB-INFの下ではなく、WebContentの直下配置した場合は
普通に表示されるので、見えていると思います。

<html:frame page="../Title/title.jsp" >
<html:frame page="./menu22.jsp" />
としたところページが見つからないそうです...
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2005-02-03 03:11
セキュリティ上の懸念からWEB-INF以下のファイルは直接クライアントに配信してはいけないという仕様があります。
一旦Servletを介してForwardするか、WEB-INF以外のディレクトリにJSPを配置しましょう。
さく
ベテラン
会議室デビュー日: 2004/06/11
投稿数: 74
投稿日時: 2005-02-03 12:50

struts-config.xml の forwad から
tiles-defs.xmlを呼び出してフレームを呼び出す方法もありますよ。

struts-config.xmlからAction等の後に呼び出すforward等でABCDEを呼び出す。

tiles-defs.xmlの中身)
<definition name="ABCDE" extends=".mainLayout">
<put name="title" value="タイトル" />
<put name="frame1" value="full-path+frame1.jsp" />
<put name="frame2" value="full-path+frame2.jsp" />
<put name="frame3" value="full-path+frame3.jsp" />
</definition>

配置が安定してお勧めです。

違ってたら無視して下さい。
つんく
会議室デビュー日: 2005/02/02
投稿数: 8
投稿日時: 2005-02-03 13:23
みなさまご返答ありがとうございます。
actionからforwardするか、さくさんの
方法を試してみようと思います。
1

スキルアップ/キャリアアップ(JOB@IT)