• ベストアンサー

[JSP]ページの挿入!?

JSPでページを挿入する際・・・ <jsp:include page="Menu.jsp" flush="true"> としますが、 たとえばRequestからファイル名を取得するにはどうすればいいでしょう? ↓これじゃだめですよね?だめでした。 ~/Test.jsp?target=Menu.jsp で、 <jsp:include page="<%= request.getParameter("target") %>.jsp" flush="true"> うぅぅん。

  • Java
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

<jsp:include page="<%= request.getParameter("target") %>.jsp" flush="true" /> で可能です。 タグを閉じるときの/が抜けています。

参考URL:
http://www5.big.or.jp/~tera/Labo/servlet/jsp10pref.html#jsp:include
zenon55
質問者

補足

なるほど! すいません・・・かなりの愚問でしたよね。 それと、質問内容で行きますと「.jsp」が重複しますよね・・・。 ご回答いただきました内容でやってみます!

関連するQ&A

  • *値の受け渡し方法が分かりません*

    失礼いたします。 お昼過ぎからjavateaです。 質問させて下さい。 今、jspファイルの中にサーブレットを、include演算子を用いて埋め込もうとしています。 <jsp:include page = "/servlet" flush="true" /> ところが、このサーブレットに値をどう受け渡せばいいのか分かりません。 jsp→サーブレットなら普段サーブレット側でrequestのgetParameterとかを使って値を受け渡しているのですが、jspの中に埋め込まれている場合どうすればいいのでしょうか? 埋め込まれているものは同じページだと解釈してjspソース内で受け取った値をそのまま使ってよろしいのでしょうか?(そんな訳ないですよね・・・) かなり混乱しています。 教えてください、よろしくお願いします。m(__)m

    • ベストアンサー
    • Java
  • JSPページから、同じJSPページを呼び出す。

    こんばんは。 少し分からないことがあるのですが。 JSPにフォームを設けて、呼び出し先も おなじJSPにして、処理しようと思ったのですが うまくいきません。 エラーは・・The server encountered an internal error () that prevented it from fulfilling this request. となっています。 おそらく、最初にページを開くときに、 フォームに記載がされていない状態なので、 request.getParameterで受け取るデータが ない、というようなエラーだと思うのですが。 1つのページで処理したいと思っています。 このような場合、どうしたらいいのでしょうか。 なにかアドバイスありましたら、 お願いします。

    • ベストアンサー
    • Java
  • JSPでのincludeについて

    JSPからincludeでperlを呼び出したのですが、 perlのファイル内で記載したスクリプトがそのまま文字列として表示されてしまいます。 なにか設定する必要があるのでしょうか。 コマンドから直接perlを実行した場合は期待する結果が返ってくることが確認できました。 --------------------------------------------- ■test.jsp // perlを呼び出し <jsp:include page="test.pl" flush="true"></jsp:include> ■test.pl #!/usr/bin/perl print $result; exit; ■test.jspで表示される結果 #!/usr/bin/perl print "aaaaaaaaaaaaaaaa"; exit; ■期待する結果 aaaaaaaaaaaaaaaa --------------------------------------------- よろしくお願いします。

  • 【JSP】include時のパス設定について

    JSPでincludeしたいファイルがあるのですが、外部サーバーのためhttp://から設定したいのですがドキュメントルートからのパスとなってしまい、 以下エラーとなりうまく実行できません。 The requested resource (/service名/WEB-INF/jsp/admin/http://~) is not available 指定したいのは以下のように単純に『http://yahoo.co.jp』を読み込んでほしいのです。 <jsp:include page="http://yahoo.co.jp" flush="true"></jsp:include> サーバーの設定などで解決できるものでしょうか。

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

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

    • ベストアンサー
    • Java
  • JavaでStrutsを使用してJSP画面のインクルードを行う場合について

    JavaでStrutsを使用してJSP画面のインクルードを行う場合について 改修を行いたい画面では現在、他の画面をインクルードディレクティブを使用して呼んでいます。 今回、呼んでいる先の表示項目が固定でなく、条件により変更されるように変更したいと思っています。 しかし、インクルードディレクティブを使用すると、呼んでいる先の画面の表示項目に変数を使用できないときいたため、以下の修正を行い、変更後の画面を見たところ、呼んでいる先の画面が表示されていませんでした。 ・インクルードアクションを使用して呼ぶように変更 (AAA.jspは呼んでいる先のJSP名)) 変更前 (<%@ include file="AAA.jsp"%> 変更後 <jsp:include page="AAA.jsp" flush="true"> <jsp:param name="count" value="<%= count1 %>" /> <jsp:param name="count" value="<%= count2 %>" /> </jsp:include> ※count1,count2は、JSP内で定義している変数が設定されています。 と、変数を2つ使用しています。 、画面にエラーメッセージは表示されないため、原因について、記述内容を考えたのですが、改修を行った画面と呼んでいる先の画面は、同一フォルダ内にあるため、問題ないと考えています。 インクルードディレクティブからインクルードアクションに変更したのみで、ページのインクルードができなくなることってあるのでしょうか? それとも、インクルードディレクティブとインクルードアクションの違いは <%@ include file="AAA.jsp"%> と <jsp:include page="AAA.jsp" flush="true" /> だけではなく、別のところでも設定変更が必要なのでしょうか? 素人な質問で申し訳ありませんが、 ・インクルードディレクティブからインクルードアクションに変更するときに画面が表示されなくなった理由 ・インクルードディレクティブを使用して、呼んでいる先の画面から変数を取得する方法 のどちらかがわかる方いらっしゃいましたら教えてください。 ちなみに、 <jsp:include file="AAA.jsp" flush="true" /> だったとか、そういうミスはしていません。

    • ベストアンサー
    • Java
  • ServletとJSPで。。。

    省略してますが、下記の記述で JSPの----部分の記述方法がわかりません。 実際、実行できる環境だといいのですが、今は実行環境がないので調査できません。 まだなにもわからない状態なので、記述が正しいかも自信ありませんがよろしくお願いします。 =============Servlet==============================Schedulebean bean = new Schedulebean(); bean.setYear(request.getParameter("year")); bean.setMonth(request.getParameter("month")); request.setAttribute("bean", bean); request.getRequestDispatcher("/jsp/schedulefrm.jsp").forward(request,response); ============ JSP ================== <%@ page contentType = "text/html; charset=Shift_JIS"%> <jsp:useBean id="bean" scope="request" class="java.lang.String"/> <HTML> <FRAMESET FRAMESPACING="10" COLS="250,*"> <FRAME src="/jsp/calender.jsp?Year=<%= year % -------- ↑ >&Month=<%= month %>" --------- ↑    上記をid 取得する記述は? name = "left" scrolling = "no" NORESIZE /> <FRAME src="/jsp/schedule.jsp?Year=<%= year %>&Month=<%= month %>" name = "right" scrolling = "yes" /> </FRAMESET> </HTML>

    • ベストアンサー
    • Java
  • jsp:paramアクションタグで配列を渡す方法

    jsp:paramアクションタグで、valueに配列やオブジェクトを指定 して渡すことってできないのでしたっけ? 下記のような感じで渡したかったのですが。 ご存知の方おりましたら、是非ご教授ください。 <% String b[] = {"bb1","bb2"}; %> <jsp:include page="test11.jsp" flush="false" > <jsp:param name="b" value="<%=b%>" /> </jsp:include>

    • ベストアンサー
    • Java
  • JSPとサーブレットの連携

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub request.setCharacterEncoding("windows-31j"); response.setContentType("text/html;charset=windows-31j"); PrintWriter out=response.getWriter(); request.setCharacterEncoding("windows-31j"); String st = request.getParameter("ti"); String s2 = request.getParameter("ho"); String s3 = request.getParameter("ke"); Connection con = null; ResultSet rs = null; Statement stmt = null; try { String url = "jdbc:mysql:///o?user=&password=2&useUnicode=true&characterEncoding=windows-31J"; con = (Connection) DriverManager.getConnection(url); stmt = (Statement) con.createStatement(); String sql = "INSERT INTO o_tb(tiiki,houmon,keiyaku) VALUES('" + request.getParameter("ti")+ "','" + request.getParameter("ho")+ "','" + request.getParameter("ke")+ "') "; int rss=0; rss = stmt.executeUpdate(sql); }catch (SQLException e){ out.println("SQLException:" + e.getMessage()); } JSPから上記のサーブレットに値を渡し、DB格納までは上手くいきました。 ですが当然上記だと真っ白なサーブレットページが表示されるだけです。 JSPのボタンを押し→サーブレットでDB格納したら、またJSPページを表示させたいんですが、どうしたらいいですか??

    • ベストアンサー
    • Java
  • JSPのエラー。

    以下のjspファイルでコンパイルエラーが出ます。 これはログインの処理の二つ目のjspファイルで、一つ目のファイルではhtmlのフォームで、このファイルにpostしています。 mディレクトリにuserクラスを作ってあり、loginメソッドで成功すればtrueが返ってきます。 ブラウザに表示されるエラーの一行目は org.apache.jasper.JasperException: /login2.jsp(3,27) &lt;jsp:useBean タグが終了していません と表示されます。 よろしくお願いします。 <%@page contentType="text/html;charset=Windows-31J"%> <%@page import="m.user,javax.sql.*,java.sql.*"%> <jsp:useBean class="m.user" id="user" scope="session"/> <html> <head><title>ログイン</title></head> <body> <% String strLoginName = request.getParameter("login_name");/*フォームからの受け取り*/ String strPassword = request.getParameter("password"); String strResult; boolean blResult = user.login(strLoginName,strPassword); if(blResult){ strResult = "ログインしました。"; }else{ strResult = "失敗です。"; }%> <%=strResult%> </body> </html>

    • ベストアンサー
    • Java

専門家に質問してみよう