JSTLでXpathを指定してのxml要素表示エラーについて

このQ&Aのポイント
  • JSTLを使用してx:outタグでXpathを指定してxmlの要素表示をしようとしていますが、エラーが発生しています。
  • エラーメッセージにはXPathExceptionと出ており、xpathの指定が正しくない可能性があります。
  • c:outタグでは正常に動作しているため、taglibは正常に機能していると考えられます。
回答を見る
  • ベストアンサー

JSTLで、x:out でXpathを指定してのxmlの要素表示ができません。

度々の質問で申し訳ございませんが、どなたか分かる方がいらっしゃいましたら教えて下さい。 ※前に投入していた質問は削除させて頂きました。  質問を回答途中であった方にはお詫び申し上げます。大変申し訳ございません。 本題ですが、JSTLのx:out でXpathを指定してのxmlの要素表示ができません。 使用しているソースは下記の通りです。 ---- <%@ page language="java" contentType="text/html;charset=Windows-31J"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml"%> <html><body> <c:set var="greeting"> <?xml version="1.0"?> <greeting>hello, world</greeting> </c:set> <x:parse var="xml" doc="${greeting}" /> <x:out select="$xml/greeting" /> </body></html> ---- この画面を表示させようとすると、下記のエラーが出てしまいます。 ---- org.apache.jasper.JasperException: Exception in JSP: /jsp/html/xmltest_003.jsp:14 11: <greeting>hello, world</greeting> 12: </c:set> 13: <x:parse var="xml" doc="${greeting}" /> 14: <x:out select="$xml/greeting" /> 15: 16: </body></html> Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) 原因 javax.servlet.ServletException: org/apache/xpath/XPathException ---- XPathExceptionと出ているので、xpathの指定がおかしいのだと思うのですが、 <x:out select="${xml/greeting}" /> <x:out select="${xml/greeting/text()}" /> <x:out select="$xml/greeting/text()" /> <x:out select="${xml}/greeting" /> <x:out select="${xml}/greeting/text()" /> とやってみてもエラーが表示されます。 ---- c:outは下記で出力できますので、taglibは正常に動いていると思われます。 <%@ page language="java" contentType="text/html;charset=Windows-31J"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <html><body> <c:set var="data" value="てすと!!" /> <c:out value="${data}" /> ${data} </body></html> ---- web.xmlの冒頭は、 <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> に変更しました。 ---- web.xmlには<web-app>タグ内の最後に下記の記述を追加しました(抜粋)。 <taglib> <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri> <taglib-location>/WEB-INF/c.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jsp/jstl/xml</taglib-uri> <taglib-location>/WEB-INF/x.tld</taglib-location> </taglib> </web-app> ---- WinXP/Eclipse3.3/Tomcat5.5/GEF3.3/struts-1.3.8/JDK1.5/JSTL1.1.2で動かしています。 ---- どなたかこのエラーについての解決の糸口などがここら辺りでは? とお分かりになる方がいらっしゃいましたら、ご教授頂ければ幸いです。 初歩的な質問で大変恐縮ですが、宜しくお願い致します。

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

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

  • ベストアンサー
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

最初に言っておくわ。 http://java.sun.com/jsp/jstl/xml わたしは使ったことないわ。 で、気になったことだけど <c:set var="greeting"> <?xml version="1.0"?> <greeting>hello, world</greeting> </c:set> たぶんここが良くないわね。 rootの直下に値を持たせず <c:set var="greeting"> <?xml version="1.0"?> <root> <greeting>hello, world</greeting> </root> </c:set> こうしてやれば $xml/root/greeting でいけると思うわ。 XMLをJavaで読み込むときも同様の現象が起きるわ。 ・・・ もしかしたら意外と $xml だけだと上手く行ったりしない? なんとなくそんな気がしただけだけど。

javawater
質問者

補足

回答ありがとうございます。 結論から言うとダメでした・・・。同じエラーが出ます。 また、ご指摘頂いた$xmlも試しましたが、同様です・・・。 org.apache.jasper.JasperException: Exception in JSP: /jsp/html/xmltest_003.jsp:16 13: </root> 14: </c:set> 15: <x:parse var="xml" doc="${greeting}" /> 16: <x:out select="$xml/root/greeting" /> 17: 18: </body></html> Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451) (中略) 原因 javax.servlet.ServletException: org/apache/xpath/XPathException 回答頂いたのにNGですみません。 時間が無いので、他の方法で対応するかもしれません。

関連するQ&A

  • jspのエラーが修正できません。

    jspソースのエラーが修正できなくて困っています。 現在、tomcat5.5とjdbc、muSQLなどを用いてシステムを作っています。 形態素解析などと組み合わせたいので、 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> を使いたいのですが、実行すると以下のエラーが発生します。 org.apache.jasper.JasperException: 絶対URI: http://java.sun.com/jsp/jstl/core はweb.xmlとこのアプリケーションを配備したJARファイルのどちらかでも解決できません org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) jsp1.1やjstlのjarファイルはWEB-INT/libフォルダに入れています。 web.xmlもバージョン2.4なので問題がないように思います。 いろいろ修正したのですがエラーが消えず、困り果てています。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • redirectについて

    いつも参考にさせて頂いています。 リダイレクトする処理でつまづいてしまい、調べてみたのですがわからなかったので質問させていただきます。 処理としては単純で、あるJSPにアクセスしたときに、strutsのlogicタグ(redirect)で指定のjspに遷移させたいと思っています。 フィルタークラスでエンコードをしているのですが、そこのインスタンスがnullになっている?とか憶測で思ったりしたのですが、解決策が見つからずにいます。 redirectで特定のjspを表示させる場合の処理としてはどうするのがいいでしょうか? 以上宜しくお願いします。 =========================================== JSPソース =========================================== <%@ page language="java" contentType="text/html; charset=Shift_JIS" pageEncoding="Shift_JIS"%> <%@ taglib uri="/tags/struts-bean" prefix="bean" %> <%@ taglib uri="/tags/struts-logic" prefix="logic" %> <%@ taglib uri="/tags/struts-html" prefix="html" %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>Insert title here</title> </head> <body> <logic:redirect forward="login" /> </body> </html> ==================================== エラー内容 ==================================== org.apache.jasper.JasperException org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) com.llc.aison.seikei.util.SeikeiEncodingFilter.doFilter(SeikeiEncodingFilter.java:35) 原因 java.lang.NullPointerException org.apache.struts.taglib.TagUtils.computeURLWithCharEncoding(TagUtils.java:428) org.apache.struts.taglib.TagUtils.computeURLWithCharEncoding(TagUtils.java:311) org.apache.struts.taglib.logic.RedirectTag.generateRedirectURL(RedirectTag.java:294) org.apache.struts.taglib.logic.RedirectTag.doEndTag(RedirectTag.java:268) org.apache.jsp.index_jsp._jspx_meth_logic_redirect_0(index_jsp.java:97) org.apache.jsp.index_jsp._jspService(index_jsp.java:70) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) com.llc.aison.seikei.util.SeikeiEncodingFilter.doFilter(SeikeiEncodingFilter.java:35) ==================================== struts.configにて以下のように設定 ==================================== <global-forwards> <forward name="login"  path="/WEB-INF/jsp/login.jsp" /> </global-forwards>

  • localhostでページ表示されないのですが、、

    いつもお世話になっております。 javaを勉強し始めて2週間になります。独学なので、解決しないことばかり・・・。助けてください。 Tomcatをつかって、javaで作ったページをローカルで表示させたいのですが、うまくいきません。以下はそのエラー内容です。ページに何か足りないのでしょうか?? 例外 org.apache.jasper.JasperException: Exception in JSP: /pages/ONUM010/ONUM010010.jsp:30 27: <script language="JavaScript" src="./js/Common.js"></script> 28: 29: <body class="body"> 30: <html:form action="/ONUM010"> 31: 32: <table border="0" cellpadding="3" cellspacing="1" width="760" class="common_header"> 33: <tr> Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:355) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) jp.co.sankoriken.com001.filters.COM001F010.doFilter(COM001F010.java:170) 原因 javax.servlet.ServletException: アクション /ONUM010 のフォームbean ONUM010F010 に対する定義が見つかりません org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:841) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:774) org.apache.jsp.pages.ONUM010.ONUM010010_jsp._jspService(ONUM010010_jsp.java:426) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) jp.co.sankoriken.com001.filters.COM001F010.doFilter(COM001F010.java:170) 原因 javax.servlet.jsp.JspException: アクション /ONUM010 のフォームbean ONUM010F010 に対する定義が見つかりません org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:767) org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:443) org.apache.jsp.pages.ONUM010.ONUM010010_jsp._jspService(ONUM010010_jsp.java:120) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) jp.co.sankoriken.com001.filters.COM001F010.doFilter(COM001F010.java:170)

    • ベストアンサー
    • Java
  • JSP NullPointerException

    JSPでNullPointerExceptionが出たのですが、初めて見るエラーなので、 どういうものなのか、どなたか教えてください。 スタックトレースは以下です。 メッセージ java.lang.NullPointerException 説明 The server encountered an internal error that prevented it from fulfilling this request. 例外 org.apache.jasper.JasperException: java.lang.NullPointerException org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:502) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:430) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) accession.filter.SessionFilter.doFilter(SessionFilter.java:97) accession.filter.ReferFilter.doFilter(ReferFilter.java:39) accession.filter.TimeoutFilter.doFilter(TimeoutFilter.java:23) accession.filter.EncodeFilter.doFilter(EncodeFilter.java:10) 原因 java.lang.NullPointerException org.apache.jsp.Use.Select.SendSelect_jsp._jspService(SendSelect_jsp.java:93) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) accession.filter.SessionFilter.doFilter(SessionFilter.java:97) accession.filter.ReferFilter.doFilter(ReferFilter.java:39) accession.filter.TimeoutFilter.doFilter(TimeoutFilter.java:23) accession.filter.EncodeFilter.doFilter(EncodeFilter.java:10) 原因一行目の「SendSelect_jsp.java:93」は何というファイルの93行目のことですか? SendSelect_jsp._jspServiceというのは・・・? このようなエラー(_jspServiceが原因の最初にあるもの)は初めてで、 調べてはみたのですが、同じようなエラーを見つけられなかったので、 教えてください。 JSPがSendSelect.jspで、SendSelect.javaを使っています。 宜しくお願い致します。

    • ベストアンサー
    • Java
  • Eclipse + jsp +tomcatのエラー

    jspのプログラミングをしていて、以下のようなエラーがでて困っています。 以前に作った他のプログラムは特に問題ないのですが、今テストしてるものだけエラーがでます。 ソースは書籍のメディアからコピーしてきたのでコーディングミスはないと思います。 書籍のサイトをみても正誤情報はありませんでした。 私自身、あまりJavaに詳しくないのでどなたかアドバイスをいただけると助かります。 よろしくお願いします。 環境  Eclipse Version: Indigo Service Release 2 (pleiades-e3.7) tomcat 7.0.27 java jdk1.6.0_25 ------------------------------------------------------------------------- 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 org.apache.jasper.JasperException: JSPのクラスをコンパイルできません: An error occurred at line: 211 in the generated java file Syntax error, insert "}" to complete Block An error occurred at line: 221 in the generated java file Syntax error on token "}", delete this token An error occurred at line: 222 in the generated java file Syntax error, insert "}" to complete ClassBody Stacktrace: org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102) org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:331) org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:469) org.apache.jasper.compiler.Compiler.compile(Compiler.java:378) org.apache.jasper.compiler.Compiler.compile(Compiler.java:353) org.apache.jasper.compiler.Compiler.compile(Compiler.java:340) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) ブラウザの更新ボタンを押したりすると以下のようなメッセージに変わったりします。 ---------------------------------------------------------------------------------- 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.expense.list_jsp org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:177) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 原因 java.lang.ClassNotFoundException: org.apache.jsp.expense.list_jsp java.net.URLClassLoader$1.run(URLClassLoader.java:202) java.security.AccessController.doPrivileged(Native Method) java.net.URLClassLoader.findClass(URLClassLoader.java:190) org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:132) org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:63) org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:172) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

  • MySQLとEclipseの接続方法について

    みなさん初めまして。 SQLについて只今勉強中の者です。 EclipseとMySQLを接続したいのですが、どうしても接続できません。 利用環境 apache-tomcat-6.0.36 MySQL5.5 Windowsはxpです。 apache-tomcat-6.0.36を利用しており、JDBCドライバをダウンロード後、Tomcat内のcommon\lib内にmysql-connector-java-5.1.22-binを導入し、環境変数でパスを通しています。 TomcatとEclipseの接続は確認しています。 また、MySQLについては起動確認や、データベース作成は行えました。 原因のjava.lang.ClassNotFoundException: com.mysql.jdbc.Driverから、JDBCドライバにパスが通っていないため接続が出来ていないと考えております。 初歩的な質問かもしれませんが宜しくお願い致します。 以下は実行した際に表示された内容です。 HTTPステータス 500 - -------------------------------------------------------------------------------- type 例外レポート メッセージ 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:500) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:410) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 原因 javax.servlet.ServletException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:865) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:794) org.apache.jsp.admin_jsp._jspService(admin_jsp.java:108) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 原因 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:128) org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66) java.lang.Class.forName0(Native Method) java.lang.Class.forName(Class.java:186) org.apache.jsp.admin_jsp._jspService(admin_jsp.java:66) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 注意 原因のすべてのスタックトレースは、Apache Tomcat/6.0.32のログに記録されています -------------------------------------------------------------------------------- Apache Tomcat/6.0.32 以上です、宜しくお願い致します。

    • ベストアンサー
    • MySQL
  • DB呼び出すページのはずなのですが以下のエラーが…

    わかる方、対応お願いいたします。 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 org.apache.jasper.JasperException: javax.servlet.ServletException: javax.naming.NameNotFoundException: 名前 jdbc はこのコンテキストにバインドされていません org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:491) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) day10.LogFilter.doFilter(LogFilter.java:46) 原因 javax.servlet.ServletException: javax.naming.NameNotFoundException: 名前 jdbc はこのコンテキストにバインドされていません org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791) org.apache.jsp.day06.select_jsp._jspService(select_jsp.java:117) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) day10.LogFilter.doFilter(LogFilter.java:46) 原因 javax.naming.NameNotFoundException: 名前 jdbc はこのコンテキストにバインドされていません org.apache.naming.NamingContext.lookup(NamingContext.java:770) org.apache.naming.NamingContext.lookup(NamingContext.java:140) org.apache.naming.NamingContext.lookup(NamingContext.java:781) org.apache.naming.NamingContext.lookup(NamingContext.java:140) org.apache.naming.NamingContext.lookup(NamingContext.java:781) org.apache.naming.NamingContext.lookup(NamingContext.java:153) org.apache.naming.SelectorContext.loo

  • strutsでフレームの分割ができません。

    strutsで、 http://struts.wasureppoi.com/taglib/03_frame.html を見ながらフレームの分割を下記のように行おうとしていますが、エラーが表示されます。 ソース ---- <%@ page language="java" contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" %> <%@ taglib uri="/tags/struts-bean" prefix="bean" %> <%@ taglib uri="/tags/struts-logic" prefix="logic" %> <%@ taglib uri="/tags/struts-html" prefix="html" %> <%@ taglib uri="/tags/struts-nested" prefix="nested" %> <html:html> <head> <title>テスト</title> </head> <frameset cols="30%,*"> <html:frame page="l.jsp"/> <html:frame page="r.jsp"/> </frameset> </html:html> ---- エラーメッセージ ---- HTTPステータス 500 - type 例外レポート メッセージ 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 org.apache.jasper.JasperException: Exception in JSP: /index08.jsp:13 10: <title>テスト</title> 11: </head> 12: <frameset cols="30%,*"> 13: <html:frame page="l.jsp"/> 14: <html:frame page="r.jsp"/> 15: </frameset> 16: </html:html> Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451) 原因 java.lang.NullPointerException org.apache.struts.taglib.TagUtils.pageURL(TagUtils.java:1070) ---- 別のページを見ると、 <html:frame page="l.jsp" name="hidari"/> とname属性を宣言しているようですが、同様に記述してみると、スコープが無いとエラーが出てしまいます。 環境は、  WindowsXP  Eclipse3.3  Tomcat5.5  struts-1.3.8  JDK1.5 です。 どのように記述すべきか、検索してもヒットしなかったので、恥かしながらここで質問させて頂く事にしました。 どのように直すべきか、分かる方がいらっしゃいましたらご教授頂けないでしょうか?  また、オススメのStrutsの本がありましたら、こちらも教えて頂けたら幸いです。 宜しくお願い致します。

    • ベストアンサー
    • Java
  • jsp:useBean の使い方???

    こんにちは。よろしくお願いします。 【環境】 jdk1.5.0_15 tomcat5.0 【参考書】 「はじめてのJSP&サーブレットプログラミング」(秀和システム) 上記参考書にあるサンプルソースをそのまま実行しているつもりが、エラーになってしまい困っています。 【JSPエラーの内容 ----------↓ここから↓----------】 org.apache.jasper.JasperException: /jsp/mailSend.jsp(3,0) org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:150) org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1227) org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1116) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163) org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213) org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219) org.apache.jasper.compiler.Node$Root.accept(Node.java:456) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163) org.apache.jasper.compiler.Generator.generate(Generator.java:3272) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:244) org.apache.jasper.compiler.Compiler.compile(Compiler.java:470) org.apache.jasper.compiler.Compiler.compile(Compiler.java:451) org.apache.jasper.compiler.Compiler.compile(Compiler.java:439) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 【JSPエラーの内容 ----------↑ここまで↑----------】 自分では、 エラーの内容 org.apache.jasper.JasperException: /jsp/mailSend.jsp(3,0) からmailSend.jspの3行目 <jsp:useBean id = "mail" scope = "page" class = "jspbean.MailSendBean"> が問題なのかなと思っていますが、 mailSend.jspの記述が問題なのかMailSendBean.javaの記述が問題なのかどちらがエラーの原因なのかも分かりません。 MailSendBean.classはコンパイルも通って WEB-INF/classes/jspbean/MailSendBean.classに存在しています。 workフォルダの下の階層にはmailSend.jspのjavaファイルもclassファイルも出来ていません。 出来るだけ多くの情報をと思い長くなりましたが、 何かお気づきの方アドバイスよろしくお願い致します。 また、足りない情報などありましたらご指摘よろしくお願いします。

  • JSPのデバッグの方法がわかりません。

    JSPのデバッグの方法というのは一般的にどのようにされるのでしょうか? サーブレットの方は、部分部分にSystem.out.println()を記述してうまくその処理が走っているかを確認しているのですが、JSPだと下記のような   --------------------------------------------------- Error: 500 Internal Servlet Error: javax.servlet.ServletException at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:461) at SyainMenteWeb._0002fSyainMenteWeb_0002ffrmSyainMente_0002ejspfrmSyainMente_jsp_12._jspService(_0002fSyainMenteWeb_0002ffrmSyainMente_0002ejspfrmSyainMente_jsp_12.java:973) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.jasper.servlet.JspServlet$JspCountedServlet.service(JspServlet.java:130) (一部略) Root cause: java.lang.NullPointerException at SyainMenteWeb._0002fSyainMenteWeb_0002ffrmSyainMente_0002ejspfrmSyainMente_jsp_12._jspService(_0002fSyainMenteWeb_0002ffrmSyainMente_0002ejspfrmSyainMente_jsp_12.java:127) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119) (一部略) ------------------------------------------------------------------- エラーが出てしまい、どの辺でエラーが発生したのか特定できません。 なにかデバッグする良い方法はないでしょうか? よろしければご教授お願い致します。

専門家に質問してみよう