JSFについての質問:エラーが出る10行目の原因と解決方法は?

このQ&Aのポイント
  • JSFを使おうとしているが、10行目の<f:view>でエラーが出ている。質問者はライブラリやweb.xmlを本を参考にコピーしたが、なぜエラーが出るのか疑問。
  • JSFを使用している際に、10行目の<f:view>でエラーが発生している。ライブラリやweb.xmlの配置は、参考書に従って正しく行なったのに、エラーが発生してしまう原因が分からない。
  • JSFを導入しようとしているが、10行目の<f:view>でエラーが出ている。ライブラリやweb.xmlの配置は、参考書に書かれている通りに行なったが、なぜエラーが発生するのか理解できない。
回答を見る
  • ベストアンサー

JSFについて

JSFを使おうとしてるのですが <%@page contentType="text/html; charset=Shift_JIS"%> <%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%> <%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%> <html> <head> <title>jsfsample1</title> </head> <body bgcolor="#ffffff"> <h1>JSF サンプル</h1> <f:view> <h:form> <h:outputText value="ようこそJSFへ" /> <h:inputText /> <h:commandButton value="click"/> </h:form> </f:view> </body> </html> 上記の10行目<f:view>でエラーが出るのですが何ででしょうか?? ライブラリやweb.xmlは本を見て所定の場所にコピーしました。

noname#48287
noname#48287
  • Java
  • 回答数2
  • ありがとう数0

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

  • ベストアンサー
  • _ranco_
  • ベストアンサー率58% (126/214)
回答No.2

> エラーが出る どんなエラーですか? ほかの、簡単な、完動が証明されているサンプルは正常に動きますか?

その他の回答 (1)

noname#49664
noname#49664
回答No.1

これだけでは、なんとも答えようがありませんので、とりあえず「JSFがきちんと動作しているのか」から確認をされたほうがよいかと思います。JSFのサンプルを動かしてみて、正常に動くかどうかを調べ、もし動いたなら自分のWebアプリとの違いを確認してみましょう。 ポイントとしては、まずライブラリファイル。JSFは、多数のライブラリから校正されています。またJSFのバージョンによって、用意するライブラリ類の内容やバージョンも微妙に違っていますので、よく確認されたほうがよいでしょう。このライブラリがきちんと揃っていなくて動かないという例は非常に多いです。また、web.xmlと、必要であればfaces-config.xmlの内容も確認してみてください。

関連するQ&A

  • JSFでJavaScriptを使用するには?

    JSF初心者の為、頓珍漢な質問で恐縮です。 以下のようなJSFタグを使用したJSPがあるとします。 <%@ page contentType="text/html;charset=Shift_JIS" %> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> <html> <head> </head> <body> <f:view> <h:form> <h:inputText id="number" value="#{myBean.message}"/> <h:commandButton action="#{myBean.doHoge}" value="送信"/> </h:form> </f:view> </body> </html> このJSPに、以下の処理をJavaScriptで実装したいと思っています。 「送信ボタンのOnClickイベントでinputTextに入力された文字をJavaScriptのAlert()関数でポップアップ表示する。」 JSFタグがなければなんてことのない処理ですが、JSFタグを使用している状況でどのようにJavaScriptを使用していいものなのかがよくわかりません。 上記の処理はどのように実装すればいいのでようか? JSFでJavaScriptを使用する方法について参考になるサイトがあれば教えてください。

    • ベストアンサー
    • Java
  • JSFで最初のリクエストで動く処理を実装するには?

    近日、JSF(ver 1.2)でWebシステムを実装することになりJSFの勉強中のものです。 ASP.NET や PHP(Smarty) でWebシステム実装経験があります。 JSFでどう実装すれば良いのかわからないことがあり、詳しい方にお教え頂きたいと考えています・・・! 【質問概要】 JSFで最初のリクエスト時のみに動く処理はどのように実装すればよいのでしょうか? ASP.NETでは Page_Load イベントで Page#IsPostBack を以下の例のように使用すると 最初のリクエスト時のみに動く処理を実装することができました。 ---- 例 ここから ------------------------------------------- void Page_Load() { // 毎リクエスト時に行う処理 if (!IsPostBack) { // 最初のリクエスト時にのみ行う処理 } } ---- 例 ここまで ------------------------------------------- JSFではこれに相当するものが無いでしょうか? 【試してみたこと】 管理Beanのコンストラクタで最初のリクエスト時にのみ行う処理ができるかと思い、 以下のtest.jspを実行し、コンソールにどのように表示されるか試してみました。 ---- test.jsp ここから ------------------------------------- <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%> <%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> (中略) <body> <f:view> <h:form> <h:commandButton action="#{Test.clickTest}" value="テストボタン"></h:commandButton><br /> </h:form> </f:view> </body> </html> ---- test.jsp ここまで ------------------------------------- ※Test は 下記 Test.java で実装した管理Bean。スコープはrequest。 ---- Test.java ここから ------------------------------------- public class Test { public Test(){ System.out.println("コンストラクタを通っている。"); } public String clickTest() { System.out.println("ボタンが押された。"); return "clickTest"; } } ---- Test.java ここまで ------------------------------------- <コンソール出力結果> 最初のリクエスト時: コンストラクタを通っている。 テストボタン押下後: コンストラクタを通っている。 ボタンが押された。 このことから、リクエストのたびにコンストラクタが処理されていることが分かりました。 ASP.NETの Page#IsPostBack の様なものがあれば、最初のリクエストかどうかを判別できるのですが・・・! 以上です。 上記のようなコンストラクタを使用する以外でも、なにか良い方法は無いでしょうか? お詳しい方、何卒よろしくお願い申し上げます・・・!

  • h:commandButtonのアクション

    現在jsf Beanを使ったwebアプリを書いています。 h:commandoButtonで定義したテストボタンを押下後 ページのリロードを行うと 情報の再送信を求めるダイアログが表示されます。 ここで「はい」を選ぶとテストボタン押下の処理が再び勝手に走ります。 テストボタン押下前にはリロードしても何も動作はしません。 もしかして初歩的な所で間違っているかも知れませんが お気づきの点有りましたらお教え下さい。 以下がサンプルプログラムと動作時の流れです。 ◎test.jsp----------------------------------- <%@ page contentType="text/html; charset=UTF-8" %> <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%> <%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%> (中略) <body> <f:view> <h:form>  <h:commandButton action="#{test.action}" value="テスト"/></h:form> </f:view> </body> </html> ◎test.jsp----------------------------------- ※test は スコープをsessionで実装した管理Beanで下記 Test.java。 ◎Test.java----------------------------------- public class Test {  public Test(){  }  public String action() {   System.out.println("アクション");   return "action";  } } ◎Test.java ここまで ------------------------------------- ページ表示  ↓ テストボタン押下  ↓ アクションと表示  ↓ ページのリロードを行う  ↓ 情報の再送信を求めるダイアログで「はい」を選択  ↓ テストボタンを押していないのにアクションと表示される。 ページ表示  ↓ ページのリロードを行う  ↓ 情報の再送信を求めるダイアログで「はい」を選択  ↓ 異常なし

    • ベストアンサー
    • Java
  • Functionsタグライブラリの使い方について

    はじめまして。Javaの初心者です。 参考書を読みながらタグの学習をしているのですが、 どうしてもわからないことがあります。 それは、参考書には、例えば、以下のようなコード のように記述して実行すると、 ************************************************* <%@ page contentType="text/html; charset=Shift_JIS" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> <html> <head> <title>Test</title> </head> <body> <c:set var="a" value="aaaaa"/> <p>${fn:toUpperCase(a)}</p> </body> </html> ************************************************* AAAAAと表示されるというようなことが書かれていますが、実際にコードを実行させてみると、 「${fn:toUpperCase(a)}」が表示されてしまいます。 どのようにすれば、参考書のような実行結果が得られるのでしょうか? 現在の実行環境は、Tomcat5.5.17 jdk1.5.0_06を使用しています。どうか教えてください。お願いします。

    • ベストアンサー
    • Java
  • sturtsとJSF

    こんばんは。jsp、struts2の勉強をしているのですが、理解出来ないところがあるのでご教授願います。 以下のようなサンプルソースがあります。 ******************************** <!-- 1 <%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%> 2 <%@ taglib prefix="s" uri="/struts-tags" %> 3 <html> 4 <body> 5 <s:form> 6   <s:radio name="cmd_radio" list="#{'1':'おはよう','2':'こんにちは','3':'こんばんは'}"> 7 <s:property value=”%{message}”/> 8 <s:submit method="show" value="クリック"/> 9 </s:form> 10 </body> 11 </html> --> ******************************** まず、6行目のlist="#{'1':'おはよう','2':'こんにちは','3':'こんばんは'}、#{}はJSFのEL式と調べたら書いていたのですが、StrutsタグでJSFが併用できるのと言うことでしょうか?そしてこのタグの動きは#{}の中の要素をループさして、HTMLタグを生成していると言う認識で良いのでしょうか。 もう1点7行目のvalue=”%{message}”ですが、変数messageはアクションクラスのメンバ変数で、showメソッドの中で選択されたラジオボタンの値がセットされます。messageのsetter、getterメソッド共にありますが、showメソッドでは message = "選択されたラジオボタンの値"; となっています。 value=”%{message}”ではなく、name = "message" にして、setMessage("選択されたラジオボタンの値"); としてはだめなのでしょうか。それと、%{}はstrutsのEL式なのでしょうか。 周りにstrutsに詳しい方がおらず、困っています。 初歩的な事で申し訳ありませんが、宜しくお願いします。

  • NullPointerException

    Strutsでjspを書きました。下のソースなのですが、どうやらlinkタグがうまくいっていないようなのです。NullPointerになってしまいます。どこが悪いか教えていただけませんか?web.xmlもちゃんと書いてあるし、struts-config.xmlもちゃんと書いたのですが・・・。お願いします。 <%@page contentType="text/html; charset=Shift_JIS" %> <%@ taglib uri="/tags/struts-bean" prefix="bean" %> <%@ taglib uri="/tags/struts-html" prefix="html" %> <%@ taglib uri="/tags/struts-logic" prefix="logic" %> <html:html> <head> <title>top</title> </head> <body> <div align="left"> <hr> <h1><font color="#20B2AA">■ <メニュー画面> ■</font></h1> <hr> <html:link forward="shoppingInitial/Entry"><h3> 登録 </h3></html:link> <html:link forward="shoppingInitial/Browse"><h3> 見る </h3></html:link> </body> </html:html>

    • ベストアンサー
    • Java
  • 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
  • Struts 1.3 でbeanタグが認識されない

    Struts初心者です。 Struts1.3で以下のようなJSPを作成していますが、 "bean:write"のところで、"bean"に対応するtaglibディレクトリが存在しないかTLDファイルが見つかりません。 とエラーになります。 <%@ page contentType="text/html;charset=Windows-31J" %> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> ・ ・ ・ <html:html> <head> <title>○○○○○○○○</title> </head> <body> <h1>○○○○○○○○</h1> ●●●●<bean:write name="xxxx" property="id" />! </body> </html:html> "html"の方はエラーになりません。 ケアレスミスのような気がしていますので、どなたか教えていただけると嬉しいです。

  • java & JSF1.2 についての質問です。

    java & JSF1.2 についての質問です。 私は、JavaとJSFを勉強中のプログラマです。C,C++,C#,php,SQL 等の技術的知識は多少あります。 しかし、Java と JSF については初心者です。 <質問概要> JSFの勉強のために、簡単な電子掲示板プログラムを開発しているのですが、 クエリー(SQL)の結果を JSF の <h:dataTable> に関連付けて表示する処理がうまく動きません。 クエリーの結果は8レコードのデータを返しているのに、<h:dataTable>には一件も表示されないのです。エラーも出ません。 <開発環境> OS:WindowsXP SP3 JDK 1.5.0 Apache Tomcat v6.0 JSF 1.2(Apache Myfaces JSF Core-1.2 API 1.2.9) <問題のソースコード> [BbsBeanMain.java] Bean のソースコード public Connection con = null; public Statement state = null; private ResultSet rsList; public ResultSet getRsList() { this.setRsList(); return this.rsList; } public void setRsList() { try{ Class.forName("com.mysql.jdbc.Driver"); this.con = DriverManager.getConnection("jdbc:mysql://localhost/bbs", "root", "mtdvd1208"); this.state = this.con.createStatement(); String strSQL; strSQL = "select Thread_ID, Thread_Title, Thread_Date from T1_Thread "; strSQL += "order by Thread_Date desc "; this.rsList = this.state.executeQuery(strSQL); } catch(Exception ex){ System.out.println("Error BbsBeanMain.setRsList ex=" + ex); } } [main.jsp] JSP のソースコード <h:dataTable id="ttbl1" value="#{BbsBeanMain.rsList }" var="rs" headerClass="ttbltr" columnClasses="ttblcol1,ttblcol2" > <h:column> <f:facet name="header"> <h:outputText value="スレッド" /> </f:facet> <h:form id="threadnamefrm"> <h:inputHidden id="threadid" binding="#{BbsBeanMain.ihThreadID }" value="#{rs.Thread_ID }" /> <h:commandLink action="#{BbsBeanMain.mDispThread }"> <h:outputText id="id1" value="#{rs.Thread_Title }" /> </h:commandLink> </h:form> </h:column> </h:dataTable> <h:messages /> <ソースコード解説>  上記 ResultSet オブジェクトの内容を、ArrayList に乗せ変えてやると正常に表示します。  私が知りたいのは、なぜ ArrayList で動くものが、ResultSet では動かないのか?という点です。  ヒントだけでも結構です。何か知っている方がいらっしゃれば、教えてください。  お願いします。  質問文の最大文字数が少なすぎて、正常に動作する ArrayList 版のソースコードが載せられないのが残念です。

    • ベストアンサー
    • Java
  • JSPの文字化けについて

    はじめまして。 初心者ですがよろしくお願いします。 現在、Strutsの勉強をしています。 ログイン画面を作成しているのですが、 以下の「logon.jsp」を表示したところ 文字化けが発生しました。 自分の思いつく限りの事は試したのですが、 一向に文字化けを解消できません。 どこが悪いのかお分かりになる方が いらっしゃいましたらご教示願います。 ○主な環境 OS:WindowsXP Java SDK :1.5.0_01 Eclips :3.0.1 Struts :1.2.4 Apache Tomcat:5.5.4 mysql :5.0.4-beta ○logon.jsp <%@ page contentType="text/html;charset=Windows-31J"%> <%@ page pageEncoding="Windows-31J" %> <%@ taglib uri="/WEB-INF/tld/struts-html.tld" prefix="html" %> <!-- %@taglib uri="struts-html" prefix="html" % --> <html:html> <head><title>ログオン画面</title></head> <body bgcolor="#ffffff"> <center> <h3>ログオン画面</h3> <html:form action="/logon"> <html:errors /> <table border="0"> <tr><td>ユーザID </td><td><html:text property="userName" size="20" maxlength="30" /> </td></tr> <tr><td>パスワード</td><td><html:password property="password" size="20" maxlength="30" /></td></tr> </table> <br></br><br></br> <html:submit value="ログオン" /> </html:form> </center> </body> </html:html>

    • ベストアンサー
    • Java

専門家に質問してみよう