- PR -

IFRAMEにJSPファイルを指定、JSPファイルの内容を適用させる方法は?

1
投稿者投稿内容
ぎんが
常連さん
会議室デビュー日: 2003/09/09
投稿数: 24
投稿日時: 2003-09-09 16:10
a.jspのチェックボックスで選択したデータをテキストファイルに保存、
b.jspの<IFRAME src="bb.jsp" name="hyoji">のbb.jspで選択したデータを
テキストファイルより読み込み,hyojiフレームに表示させます。
その後、b.jspからa.jspにリンクで戻り、
再び、a.jspのチェックボックスにてデータを際選択させ、
その後hyojiフレームに表示させることを繰り返したいのです。

1回目は成功するのですが、2回目以降は1回目のbb.jspの内容が更新されません。

いい解決法をお教えください。
未記入
大ベテラン
会議室デビュー日: 2003/06/28
投稿数: 219
投稿日時: 2003-09-09 19:48
Ken-Labです。
作りたいもののイメージが違っていたらゴメンナサイ。
こんな感じで・・・。ご質問でhyoujiフレームをどうするか、がちょいと見えなかったので
自己流になっている点をご容赦ください。早い話が、GETで値をリレーしているだけですね。

●a.jsp
コード:

<%@ page language = "java" pageEncoding = "Shift_JIS" contentType = "text/html; charset=Shift_JIS" %>
<%@ page import="java.io.*" %>
<%
String sel = "";
try{
FileReader filereader = new FileReader ("testfile.txt");
BufferedReader bufferedreader = new BufferedReader (filereader);
sel = bufferedreader.readLine ();
filereader.close ();
}
catch (Exception e){
e.printStackTrace ();
}
if (sel == null){
sel = "";
}
%>
<html>
<head>
</head>
<body>
<form action="b.jsp" mathod="get">
<%if (sel.equals("1st") || sel.equals("1st2nd")){%>
1st<input type="checkbox" name="check1" value="1st" checked>
<%}
else{%>
1st<input type="checkbox" name="check1" value="1st">
<%}%>
<%if (sel.equals("2nd") || sel.equals("1st2nd")){%>
2nd<input type="checkbox" name="check2" value="2nd" checked>
<%}
else{%>
2nd<input type="checkbox" name="check2" value="2nd">
<%}%>
<input type="submit" value="submit">
</form>
</body>
</html>



●b.jsp
コード:

<%@ page language = "java" pageEncoding = "Shift_JIS" contentType = "text/html; charset=Shift_JIS" %>
<html>
<head>
</head>
<body>
<a href="a.jsp">もどる</a>
<%
String check1 = "";
String check2 = "";
check1 = request.getParameter ("check1");
if (check1 == null){
check1 = "";
}
check2 = request.getParameter ("check2");
if (check2 == null){
check2 = "";
}
%>
<iframe src="bb.jsp?check1=<%=check1%>&check2=<%=check2%>">
</body>
</html>



●bb.jsp
コード:

<%@ page language = "java" pageEncoding = "Shift_JIS" contentType = "text/html; charset=Shift_JIS" %>
<%@ page import="java.io.*" %>
<html>
<head>
</head>
<body>
<%
String check1 = "";
String check2 = "";
String writestream = "";
check1 = request.getParameter ("check1");
if (check1 == null){
check1 = "";
}
check2 = request.getParameter ("check2");
if (check2 == null){
check2 = "";
}
writestream = check1 + check2;
try{
FileWriter filewriter = new FileWriter ("testfile.txt");
BufferedWriter bufferedwriter = new BufferedWriter (filewriter);
bufferedwriter.write (writestream, 0, writestream.length ());
bufferedwriter.flush ();
filewriter.close ();
}
catch (Exception e){
e.printStackTrace ();
}
%>
<%=writestream%>
</body>
</html>



# a.jspを書き換えました。(前の値を拾って来ないと意味ないですね。)
# それから、BufferedReader/BufferedWriterを使ったのはご愛嬌ということで。
[ メッセージ編集済み 編集者: Ken-Lab 編集日時 2003-09-09 20:03 ]
# 文字コード変換がややこしい為、割愛しました。(必要に応じ要追加です。)

[ メッセージ編集済み 編集者: Ken-Lab 編集日時 2003-09-10 10:20 ]
ぎんが
常連さん
会議室デビュー日: 2003/09/09
投稿数: 24
投稿日時: 2003-09-11 16:19
どうもありがとうございました.
無事解決いたしました.
お礼が遅くなり申し訳ありません.
1

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