• ベストアンサー

c:importタグ内に、変数をセットしたい。

JSP内の記述のみで下記を実現したいのですが どう実装すればいいでしょうか? <c:import url="動的なURL"> 同一サーバ内のとあるパスのファイルを読み込もうとしています。 "http://<%= request.getServerName() %>/任意のパス" といった記述で動けばいいのですが、ビルドでエラーになっています。

  • ks_rx
  • お礼率7% (13/163)
  • Java
  • 回答数1
  • ありがとう数1

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

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

スクリプトレット(<% ~ %>)内で、任意のパスを pageContext などに 格納し、EL式で取得してはどうでしょうか。 <% String url = 任意のパス pageContext.setAttribute("myurl", url); %> <c:import url="${myurl}" />

ks_rx
質問者

お礼

その方法で解決しました。

関連するQ&A

  • 1行目の#! "C:\xampp\php\php-cgi.exe"について

    XAMPP for windowsをXPで利用しています。 phpファイルの1行目に、「#! "C:\xampp\php\php-cgi.exe"」を記述しないとphpが実行されません。 1行目の「#! "C:\xampp\php\php-cgi.exe"」を記述せず、「<?php~ ?>」の記述でファイルを呼び出すと、「Server error! サーバ内部で障害が発生し、 リクエストに応えることができませんでした。 サーバが過負荷であるか、 CGI スクリプトにエラーがあります。」の表示になります。 apacheのconfに、「AddType application/x-httpd-php .php」を追記してみましたが、結果は同じでした。 「C:\xampp\php」でpathを通しています。 超初級な質問かと思いますが、お助けください。

    • 締切済み
    • PHP
  • JSPでimportを行う時の、変数の使用有無

    初めまして、etsuki_genと申します。 こちらの掲示板ではいつもお世話になっております。 初の質問です。よろしくお願いいたします。 サーブレットとJSPを使用して現在仕事をしております。 サーブレットのコード内でjspファイルを指定し、 JSPにて出力したいと考えております。 詳細は以下に記述させていただきました。 【詳細】 ■現在のJSPでのimport方法↓ <%@include file="aaa.jsp"%> 上記の"aaa.jsp"の部分を変数に変更し、 以下のように記述したい。 ■変更したいimport方法↓ サーブレット側 a.putData("javaData","aaa.jsp"); JSP側 <% String strData=a.getData("javaData");%> <%@include file=strData%> 変数を指定して、インクルードをしようとすると 「引用符が必要です」とエラー表記されてしまいます。 また、 <%@include file="<%=strData%>"%> と記述しても、「<%=strData%>ファイルが見当たりません」と言われてしまいます。 JSPでimportを行う時に、importするファイル名を 変数で使用する方法はないものでしょうか? 過去ログにも見当たらなかった為、質問させていただきました。 よろしければご回答お願いいたします。 また、何かございましたらご指摘の程よろしくお願いいたします。

    • ベストアンサー
    • Java
  • redirectタグ(?)に対応したライブラリって?

    c:redirect url="・・・ というJSPファイルで「"c"に対応するtaglibディレクティブが存在しないかTLDファイルが見つかりません。」というエラーが出ているのですが、おそらく.jarファイルと.tldファイルを置かなければいかないといけないのかなというところまでは、予想がついたのですがどのファイルをおけばいいかが分かりません。 もし、分かる方がいらっしゃったらよろしくお願いします。

    • ベストアンサー
    • Java
  • getRequestDispatcher の機能について

    こんいちは。 下記の機能を使用して転送したいのですがエラーになってしまいます。 tomcatの設定ファイル、web.xmlなどのファイルに何か情報を登録しなければならないのでしょうか? どなたかご存知でしたら教えていただけないでしょうか? 環境 tomcat4.1 機能 ****** getServletConfig().getServletContext().getRequestDispatcher("/cc/t_1.jsp").forward(request,response); ****** ソース package cc; import mng.*; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class t_1 extends HttpServlet { public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { //response.sendRedirect("/cc/t_1.jsp"); getServletConfig().getServletContext().getRequestDispatcher("/cc/t_1.jsp").forward(request,response); } public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException { doGet(request,response); } } 下記がエラー内容になります。 HTTP Status 404 - /cc/t_1.jsp The requested resource (/cc/t_1.jsp) is not available.

    • ベストアンサー
    • Java
  • Visual C++ 2010 Expressについて。

    Visual C++ 2010 Expressについて。 Visual C++ 2010 Expressを使っているのですが、 プロジェクトを開いて1回目ビルドすると必ずエラーが出ます。 ビルドした後1回閉じて開き直してビルドすると正常にビルドできます。 エラー内容 C:\(省略)\ファイル名.vcxproj : error MSB4014: 内部エラーのため、ビルドは予期せず停止しました。 C:\(省略)\ファイル名.vcxproj : error MSB4014: Microsoft.Build.Exceptions.BuildAbortedException: ビルドが取り消されました。MSBuild.exe は、場所 "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" に見つからなかったため、子ノードとして起動できませんでした。必要に応じて、BuildParameters または MSBUILD_EXE_PATH 環境変数で正しい場所を指定してください。 と出ます。 原因を色々調べてみたのですが分かりませんでした。 かもしれないということでもいいので答えて頂けると助かります。 環境 XP SP3 Visual Studio 2005が入っています。 ちなみに、2005は正常に出来ます。

  • タグ記述のご質問

    こんにちは。 タグ記述のご質問です。 <STYLE type="text/css"> <!-- @import url(../ABC.css); @import url(../DEF.css); P{ } --> </STYLE> のようにスタイルシートの記述をしますが、この最後から2行目の-->がそのファイルを開けて見るたびに 何故かいつのまにかどんどん増えて --> --> --> のようになって行きます。 これを防ぐにはどうすれば良いでしょうか。お教え下さい。

  • C#でのWebRequestでのPOSTについて

    C#初心者です。 現在Visual Studio2012にてC#でストアアプリ作成中ですが、サーバーへPOSTしリストを取得する処理で難航しています。 WebRequest request = WebRequest.Create("URL"); request.Method = "POST"; byte[] byteArray = Encoding.UTF8.GetBytes(postData); request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = byteArray.Length; と記述した場合にrequest.ContentLengthの箇所でContentLengthはSystem.Net.WebRequestに定義が含まれていませんとエラーが表示されます。 何が足りないのでしょうか? 何か追加のアセンブリを指定する必要がありますでしょうか?

  • contextタグ内のsourceタグについて(WTP使用)

    WTPを用いてWEBアプリケーションの作成を行っています。 Webプロジェクトを生成すると、eclipseワークスペースのserver.xmlに下記のように記述されていました。 (プロジェクト名'A'で作成) <Context docBase="C:\eclipse\workspace\A\.deployables\A" path="/A" reloadable="true" source="com.ibm.wtp.web.server:A"/> この中に記述されているsource="com.ibm.wtp.web.server:A" は何を意味するのでしょうか? また、server.xmlではなく、プロジェクト名.xmlファイルのように管理できないでしょうか?(WTPの機能で)

  • CファイルとCPPファイルのDLL作成

    CファイルとCPPファイルを同一DLLに取り込むことは可能でしょうか?もし可能であれば実現方法も教えて頂きたいのですが。 現状は別DLLを作成しているのですが、両ファイルを取り込んでビルドすると外部関数宣言をしている箇所がエラーになってしまいます。(extern "C"の箇所が・・・)

  • Strutsでフレーム使用時のerrorsタグ/エラー表示

    上下2分割のjspフレームページがあります。 環境:Struts1.2、jdk1.4.2 上段A・・・テキストボックス配置、errorsタグ記述 下段B・・・Aのformをsubmitするボタン配置 親C・・・A、Bの親。以下詳細 <frameset> <html:frame href="A.jsp" frameName="A" /> <html:frame href="B.jsp" frameName="B" /> </frameset> ※struts-config <action path="/XXXAction" type="XXXAction" name="XXXForm" validate="false"> <forward name="success" path="D.jsp"/> <forward name="failure" path="C.jsp"/> </action> BからAのformをparent.A.document.forms[0].submit()でsubmitしますが、submit後に実行されるXXXActionクラスでActionErrorをセットした後にCを呼び出すとAに記述しているerrorsタグがエラーを表示しません。 configの<forward name="failure" path="C.jsp"/>を「path="A.jsp"」とするとerrorsタグのエラーメッセージが表示されますが、Aのformのtarget指定は"top"なのでAを指定するとフレームは消えてしまい、Bが表示されなくなります。top指定を外すとエラー時にはABが表示された状態でAにエラーが出ますがエラーを出さないときはAにDが表示され、画面は上からD、Bとなり、不要なBが残ったままになります。 errorsタグでのエラー表示はforwardで指定されたページにしか出ないとすればフレーム使用時には使えないのでしょうか。

    • ベストアンサー
    • Java

専門家に質問してみよう