• 締切済み

JSPのアクションタグ

<commons:A item_cd="B"/> というようなユーザー定義のアクションタグにファイルパスを入れています。 これを <jsp:include page="ファイルパス" /> と指定したいのですが、 <jsp:include page="<commons:A item_cd='B'/>" /> とネストさせるとエラーが出てしまいます。 どなたか良い解決策をご存知でしたら宜しくお願い致します。

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

みんなの回答

  • hatimiti
  • ベストアンサー率68% (26/38)
回答No.1

JSTLを使って、 <c:set var="url"><commons:A item_cd='B'/></c:set> <c:import url="${url}" /> などではできませんかね?

urahyster
質問者

お礼

違う方法で出来ました! 回りくどいのですが、 GETメソッドで<commons:A item_cd="B"/>を自分に飛ばしてから <% String test = request.getPropaty("GET名"); %> <jsp:include page="<%=test%>" /> で出来ました。 hatimitiさんの方法とどちらがスマートにいくか試してみようと思います。ありがとうございました☆

関連するQ&A

  • 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でforwardの下にforwardを使いたい

    質問させてください。 jspで <% if(flag==0) { pageContext.forward("Page_B.jsp"); } %> <jsp:forward page="Page_A.jsp" /> このように通常は"Page_A.jsp"に移動して flagが0の時は"Page_B.jsp"に移動させたいのですが、 通常時は"Page_A.jsp"に移動してくれるのですが、 flagが0だった場合はエラーが出てしまい上手く移動してくれません。 やりたい事としてはflagが0でなければ"Page_A.jsp" flagが0なら"Page_B.jsp"に移動したいのです。 すいませんが、どなたか宜しくお願いします。

  • 【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で関数部分だけ分離することができますか?

    jspで関数部分を分離できないでしょうか? 例えば <%! public int add(int a,int b){return a+b;} %> このadd関数だけ別のファイルにして呼び出せないでしょうか。 <jsp:include page="add.jsp" flush="true "/> とやってもadd関数がcannot resolve symbolとなってしまいます。 jspの方が手間的に楽なのですが やはりサーブレットにするしかないのでしょうか? linuxのtomcat4.1です。

    • ベストアンサー
    • Java
  • Struts:フレーム内JSPからcssファイルの参照方法

    htmlタグライブラリのframeで指定したJSPからスタイルシート(*.jsも)の参照ができません。 色々試したのですが、解決方法を教えて下さい。。。 環境はWin2000、Tomcat5、Struts2です。 ↓フレーム呼び出し <frameset rows="50%,*"> <html:frame page="A.jsp"/> <html:frame page="B.jsp"/> </frameset> ※ディレクトリ:/apname/jsp/X.jsp ↓フレーム内(A.jsp) <link rel="stylesheet" href="./C.css" type="text/css"/> ※ディレクトリ:/apname/css/C.jsp ちなみに「href="../css/C.css"」としてもダメなんです。 参照先ディレクトリは色々試したけど使えません。 よろしくお願いします。

    • ベストアンサー
    • Java
  • Servlet-JSP間のhidden要素での値受け渡し

    Servletをはじめて間もない初心者です. 説明がわかりづらいかも知れませんがご容赦ください. Servlet-JSP間の値の受け渡しについての質問です. Servlet1-----page1.jsp  |      |__beans1.java  | Servlet2-----page2.jsp        |__beans2.java という2つのページがあるとします. page1.jspからpage2.jspを開く時に page1.jsp → Servlet2 → page2.jsp(編集モード)               → page2.jsp(登録モード) の何れかのモードでpage2.jspを開きたいと考えています. page1.jspの中に <input type="hidden" name="PageState"> というhidden要素を定義してServlet2にフラグを渡せば解決できると思うのですが,hidden要素はセキュリティ上使用しない方が良い?という記述を読んだことがあるので,この方法でよいのか悩んでおります.  何かご意見や別の方法がありましたらアドバイスお願いいたします.

    • ベストアンサー
    • 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
  • JSPでの情報共有

    2つのJSPでお互いにint型の変数を情報共有したいのですが何か良い方法は無いでしょうか? JSPファイルAとBがあるとして、 int型変数はファイルAで定義し初期値を入れ処理をする。 Aで定義したint型変数をファイルBで読み込み変数に数を足し処理をし、Aに戻る。 AではBで変更された値を利用して処理をする。 繰り返し。 ということをしたいのです。以前質問したのですが、 application.setAttributeなどを使ってやろうとしていたのですが、int型ではうまくいかないので何か他に方法を考えています。どなたかご存知の方アドバイスよろしくお願いします。

    • ベストアンサー
    • Java
  • jspファイルが作れません

    現在、jspを勉強なのですが、jspファイルが作れません。 メモ帳にコードを打ちこんだあと、拡張子に「.jsp」を つけて保存するのですが、テキストファイルのままになって しまいます。(教本に付属CDがあり、サンプルでは「jspファイル」 とちゃんと表示されています) ちなみに、サーブレットやHTMLファイルを作成して、トムキャット で実行することはできています。 jspファイルを作るには何か特別なソフトがいるのでしょうか? ネットをいろいろ検索してみましたが、糸口がつかめず困っています。 このような説明でうまく伝わるか不安ですが、どなたかわかる方がいらっしゃいましたら 教えていただけるとうれしいです。 よろしくお願いいたします。 メモ帳でSample1.jsp作成時のコード内容↓ <%@ page cotentType="text/html; charset=Shift_JIS" %> <%@ page import="java.util.*" %> <html> <head> <title>サンプル</title> </head> <body> <center> <img src="car.gif"><br /> <h2>ようこそ</h2> <hr /> 今<%= new Date() %>です。<br /> お選びください。<br /> <br /> <a href="car1.html">乗用車</a><br /> <a href="car2.html">トラック</a><br /> <a href="car3.html">オープンカー</a><br /> </center> </body> </html>

    • ベストアンサー
    • Java
  • JSP、Servlet、設計について

    今回Webアプリの設計を行っていますが、そこで発生した疑問について質問させて頂きます。 このアプリは、大きく分けてログイン画面とメイン画面の二つがあり、各メイン画面ではフレーム部分と内側の部分が存在し、各メイン画面のフレーム部分のデザインは統一したいと思っています。 また、出来るだけMVCモデルを守り、スプリクトレットはできる限り用いず、カスタムタグは使用せず、JavaとServletが理解できれば全体が把握できるような形にしたいと思っています。 ○疑問1 メイン画面のデザインを統一させるためにどのような流れにするか? ・案1 サーブレット、フレーム部分のjsp、内側のjspのファイル、この3つをメイン画面の各機能分作る。 サーブレットで要求を受け、フレーム部分jspにフォワードし、フレーム部分jspから内側jspをインクルードする。 ・案2 サーブレット、フレーム部分のjsp、フレームからインクルードするファイルを決める分岐用サーブレット、この3つを一つづつ作り、内側のjspファイルを各機能分作る。 サーブレットで要求を受け、フレーム部分jspにフォワードし、フレーム部分jspから分岐用サーブレットをインクルードし、分岐用サーブレットから内側jspをインクルードする。 ・考察 案2では、フレーム部分jspを一つに限定できるのでそちらのほうが良いように思えますが、流れが若干複雑になります。案1ではシンプルですが、フレーム部分jspファイルが複数できてしまいます。 機能によっては、サーブレットとJSPがお互いを呼び出すような事が5回ぐらいネストされると思います。 このようなやり方が普通なのか、判断できません。 ○疑問2 ログイン情報を用いた動的メニューを、メイン画面で共通のフレームに追加したい。 ・案1 ViewHelperパターン?のような形にする 一例 <jsp:useBean id="menu" scope="request" class="MenuBean" /> <%= menu.getMenu() %> サーブレットでMenuBeanにログイン情報を設定し、JSPからメニューのHTMLを構成したStringを返してもらう。 ・案2 Servletにする <jsp:include page="MenuServlet" /> JSPからインクルードされたMenuサーブレットで、ログイン情報を取得してメニューのHTMLを構成し、out.printlnする。 ・考察 案1はサーブレットでMenuを作成しなくてはならず、一つ手間が増える。案2は、コントローラであるはずのServletでout.printlnしなくてはならないので何か違和感がある。(他のサーブレットでは、out.printlnする箇所は全くない) どちらが良いのか、または別の方法があるのか。 Servletで実現できるならViewHelperの用途とは何か? よろしくお願い致します。

専門家に質問してみよう