webアプリのエラー原因がわからず、引用符が必要と出てきます

このQ&Aのポイント
  • webアプリを作成中にエラーが発生しました。具体的には、jspで引用符が必要というエラーメッセージが表示されます。しかし、どこがおかしいのかはっきりとわかりません。このエラーの原因を教えていただきたいです。
  • webアプリを作成中にjspで引用符が必要というエラーメッセージが表示されます。どこがおかしいのかがわかりません。このエラーの原因を教えてください。
  • jspで引用符が必要というエラーメッセージが表示されますが、具体的な原因がわかりません。このエラーの原因を教えてください。
回答を見る
  • ベストアンサー

webアプリを作ってます。エラーがあります。

webアプリを作ってます。エラーがあります。 jspで引用符が必要と出てきます。どこがおかしいのかはっきりしません。 jspで引用符が必要と出てきます。どこがおかしいのかはっきりしません。教えて... jspで引用符が必要と出てきます。どこがおかしいのかはっきりしません。 教えてください 原因がわからずで進みません。足りない部分がありますか? ネットでみたけどよくわかりませんでした。 中略 if (teacherId==null || name==null || faculty==null) { getServletContext().getRequestDispatcher("/InputErrorJSP.jsp").forward(request, response); return; } if (department==null) System.out.println("tias1"); //学科が入力されていない学科を空白 department=""; //Beans生成 TeacherInfoBeans teacherInfoBeans = new TeacherInfoBeans(); teacherInfoBeans.setTeacherId(teacherId); teacherInfoBeans.setName(name); teacherInfoBeans.setFaculty(faculty); teacherInfoBeans.setDepartment(department); System.out.println("tias2"); //登録 teacherInfoBeans.insert(); System.out.println("tias3"); //セッション登録 HttpSession session = request.getSession(true); session.setAttribute("teacerInfoBeans",teacherInfoBeans); System.out.println("tias4"); //結果を反映 getServletContext().getRequestDispatcher("/AddReportJSP.jsp").forward(request, response); System.out.println("tias4.5"); } 中略 <%@ page contentType="text/html; charset=Windows-31J" %> <head> <html> <title> 先生情報登録</title> </head> <body> <jsp:useBean id="teacherInfoBeans" class="info.searchman.TeacherInfoBeans" scope="session" /> <h1>先生情報登録</h1> 次の情報を登録しました。 <br> ユーザーID:<jsp:getProperty name=teacherInfoBeans" property="teacherId" /><br> 氏名:<jsp:getProperty name=teacherInfoBeans" property="name" /><br> 所属:<jsp:getProperty name=teacherInfoBeans" property="affiliation" /><br> </body> </html> エクリプス コンソールログ tias2 tib7 insert into teachers values ('3', 'c', 'cc', '') tias3 tias4 2010/04/28 18:21:05 org.apache.catalina.core.ApplicationDispatcher invoke 致命的: サーブレット jsp のServlet.service()が例外を投げました org.apache.jasper.JasperException: /AddReportJSP.jsp(14,30) 引用符が必要です 環境は jdk1.6 eclipse3.2 posgre8.3 tomcat6.0です。 参考書はSCCの改訂 Webアプリケーション構築: 7章問題です。

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

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

  • ベストアンサー
  • akito0417
  • ベストアンサー率20% (55/266)
回答No.2

追記。 >AddReportJSP.jsp(14,30) 引用符が必要です これが思いっきりエラー箇所指摘してます。 14が行数、30が最初の文字から数えて30番目ってことです

その他の回答 (1)

  • akito0417
  • ベストアンサー率20% (55/266)
回答No.1

>ユーザーID:<jsp:getProperty name=teacherInfoBeans" property="teacherId" /><br> name=の後に足りないですね。

関連するQ&A

  • webアプリを作ってます。画面から入力し途中から変数が渡ってません。

    webアプリを作ってます。画面から入力し途中から変数が渡ってません。 どこが間違ってますか? 環境は jdk1.6 eclipse3.2 posgre8.3 tomcat6.0 です。 ソースはの一部 //パラメータ取得 teacherId = request.getParameter("teacherId"); name = redecode(request.getParameter("name")); faculty = redecode(request.getParameter("faculty")); department = redecode(request.getParameter("department")); System.out.println("tias0"); System.out.println("tias0" +teacherId); System.out.println("tias0" +name); System.out.println("tias0" +faculty); System.out.println("tias0" +department); if (teacherId==null || name==null || faculty==null) { getServletContext().getRequestDispatcher("/InputErrorJSP.jsp").forward(request, response); System.out.println("tias0.1"); System.out.println("tias0.1"+teacherId); System.out.println("tias0.1"+name); System.out.println("tias0.1"+faculty); System.out.println("tias0.1"+department); return; } System.out.println("tias0.2"); if (department==null) System.out.println("tias1"); //学科が入力されていない学科を空白 department=""; //Beans生成 System.out.println("tias1.1"); System.out.println("tias1.1"+teacherId); System.out.println("tias1.1"+name); System.out.println("tias1.1"+faculty); System.out.println("tias1.1"+department); 最終行で変数が渡ってません エクリプスコンソールログ tias0 tias09 tias0f tias0ff tias0fff tias0.2 tias1.1 tias1.19 tias1.1ftias1.1ff tias1.1 tib1 tib2 tib2f tib2ff tib2ここ tib2 tias1.29 tias1.2f tias1.2ff tias1.2ここ tias1.2 tias2

    • ベストアンサー
    • Java
  • webアプリを作ってます。

    webアプリを作ってます。 sqlの箇所で型の不一致stringからstringは変換できませんと 出てきます。 調べてもわかりませんでした。 どこが間違ってるのか教えてください。 package info.searchman; import 省略 public class Dbinsert extends HttpServlet { /** * */ private static final long serialVersionUID = 1L; private ServletContext context; //private Connection connection; public void init(ServletConfig config) throws ServletException { context=config.getServletContext();} public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=Shift_JIS"); PrintWriter out=response.getWriter(); out.println("<html><head><title>Sample199</title></head><body>"); try { int type=0; String name=null; int price=0; String html=null; //Connection con = null; type=Integer.parseInt(request.getParameter("type")); //name= request.getParameterValues("name"); //String name = request.getParameter("name"); name = redecode(request.getParameter("name")); price=Integer.parseInt(request.getParameter("price")); Class.forName("org.postgresql.Driver"); Connection con = DriverManager.getConnection("jdbc:postgresql:postgres","postgres","gokui"); // ステートメントオブジェクトを生成 Statement stmt = con.createStatement(); String values2 = "(\'"+type+"\', \'"+name+"\', \'"+price+"\')"; String sql="INSERT INTO commodity values " + values2 ; stmt.executeUpdate(sql); //ResultSet rs = stmt.executeQuery(sql); out.println("データを登録しました。"); //out.println("</table>"); //rs.close(); stmt.close(); con.close(); } catch(Exception e) { context.log("denaositekoi"); e.printStackTrace(out); } out.println("</body></html>"); out.close(); } private String redecode(java.lang.String parameter) { // TODO 自動生成されたメソッド・スタブ return null; } }

    • ベストアンサー
    • Java
  • webアプリを作ってます。jspのfor文内でエラーが出てます。

    webアプリを作ってます。jspのfor文内でエラーが出てます。 原因が分かりませんでした。 どこが間違ってるか教えてください。 <%@ page contentType="text/html; charset=Windows-31J" %> <head> <html> <title>検索完了画面</title> </head> <body> <jsp:useBean id="KensakuBeans" class="info.searchman.kensakuBeans" scope="session" /> <h1>検索結果</h1> <h2></h2> <form method="GET" action="KensakuServlet"> <% for (int i=0; i<KensakuBeans.getCountOfResults(); i++) { %> <%= KensakuBeans.getResult(i) %> <br> <% } %> <br> 検索結果は以上です。 <br><br> <input type="submit" value="送信"> <input type="reset" value="取消"> </from> </body> </html> package info.searchman; import java.io.*; import java.sql.*; //import java.util.*; public class kensakuBeans implements Serializable { /** * */ private static final long serialVersionUID = 1L; private String Id; private String name; private String older; private String taiju; private String shintyo; private String other; //Constructor public void KensakuBeans() { System.out.println("sitb constructor"); } public void setName(String name) { this.name = name; System.out.println("dkb setter" +name); } // Getting 省略 //execute kensaku public void kensaku() { try { //JDBC Driver Class.forName("org.postgresql.Driver"); Connection con = DriverManager.getConnection("jdbc:postgresql:postgres","postgres","gokui"); Statement stmt = con.createStatement(); String table = "test"; String kensakusql = "select * from "+table+" where name =\'"+name+"\'"; System.out.println(kensakusql); System.out.println("dkb8"); // SQL ステートメントの発行 ResultSet rs = stmt.executeQuery(kensakusql); // 結果をプロパティに設定する if (rs.next()) { Id = rs.getString("Id"); name = rs.getString("name"); older = rs.getString("older"); taiju = rs.getString("taiju"); shintyo = rs.getString("shintyo"); other = rs.getString("other"); } else { 省略

    • ベストアンサー
    • Java
  • forward()でエラーが出て対応ができません。

    どなたか、教えてください。 サーブレットからDBに接続して、検索条件(名前)が一致しているレコードを取得。 request.setAttribute リクエストデータにその人の住所をセットし、別のjspファイルに送り 表示するプログラムなんですが。 getServletConfig().getServletContext().getRequestDispatcher("/jsp/result1.jsp").forward(request, response);の部分で、コミット済みというエラーが発生します。 下記がそのプログラムです。 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws     ServletException, IOException {      request.setCharacterEncoding("windows-31J");      String name = request.getParameter("name1");      Connection con=null;;      PreparedStatement ps =null;  try{       Context context = new InitialContext();     DataSource ds =(DataSource)context.lookup("java:comp/env/jdbc/FrameWork");     con = ds.getConnection();     ps = con.prepareStatement("SELECT * FROM address where name like ?;");     ps.setString(1, name);     ResultSet rs = ps.executeQuery();    rs.next();    String address =rs.getString("address");   request.setAttribute("address1", address);    rs.close();    ps.close(); }catch(Exception e){ e.printStackTrace(); }finally{ try{ con.close();             }catch(SQLException e){e.printStackTrace();} }     try{ getServletConfig().getServletContext().getRequestDispatcher ( "/jsp/result1.jsp").forward(request, response);       }catch(Exception e){System.out.print(e);} } } エラーにも関わらず、ページは切り替わるのですが、アドレスはNULL値が表示されます。 一応、デバックをしてSQLの取得、リクエストデータのセットまでは、問題ないのは確認済みです。 乱文でわかりづらいのですが、どなたかお願いいたします。

  • 変数について

    プロパティファイルから読み取った値をほかのクラスから使いたいと考えて以下のような2つのクラスを作成しました。 [プロパティ読み取り] public class Admin{ public static String HOST; public static String ACCOUNT_NAME; public static String ACCOUNT_PASSWD; /** * * @throws java.io.IOException */ public Admin() throws IOException{ try{ // read from properties file.      Properties pro = new Properties(); pro.load(new FileInputStream("プロパティファイル")); HOST = pro.getProperty("host"); ACCOUNT_NAME = pro.getProperty("account.name"); ACCOUNT_PASSWD = pro.getProperty("account.password"); }catch(Exception e){ System.out.println(e); } System.out.println("Host: "+ HOST); System.out.println("User: "+ ACCOUNT_NAME); System.out.println("Password: "+ ACCOUNT_PASSWD); } } [変数使用] public class Update { public static void main(String[] args) { System.out.println("Host: "+ Admin.HOST); System.out.println("User: "+ Admin.ACCOUNT_NAME); System.out.println("Password: "+ Admin.ACCOUNT_PASSWD); } } Adminクラスの出力では、変数に正しい値がセットされていますが、Updateクラスではnullが返ります。 スコープの問題かと思うのですが、どこをどのように改良したらよいかわかりません。 nullではなく、正しい値を取得するにはどのようにすればよいでしょうか

    • ベストアンサー
    • Java
  • ServletからJSP

    はじめまして。 お世話になります。 以下のようにサーブレットから条件によってJSPファイルを 使い分けようと思っているのですが、うまく出来ません。   protected void processRequest(HttpServletRequest request, HttpServletResponse response)   throws ServletException, java.io.IOException   {     PrintWriter out = response.getWriter();     out.println("<html>");     out.println("<head>");     out.println("<title>タイトル</title>");     out.println("</head>");     out.println("<body>");     RequestDispatcher rd = null;     if(/* 条件1 */)     {       rd = request.getRequestDispatcher("hoge1.jsp");     }     else if(/* 条件2 */)     {       rd = request.getRequestDispatcher("hoge2.jsp");     }     else     {       rd = request.getRequestDispatcher("hoge3.jsp");     }     out.println("</body>");     out.println("</html>");     if(rd != null)     {       rd.include(request,response);     }   } このようにすると <html> ・ ・ サーブレットから出力した部分 ・ </html> <****> JSPで出力した部分 </****> とサーブレットの部分だけ先に出力されてしまいます。 JSPファイルの前後に出力させるにはどのようにすればよいのでしょうか。 よろしくお願い致します。

    • ベストアンサー
    • Java
  • webアプリを作ってます。 A result was returned

    webアプリを作ってます。 A result was returned web アプリを作ってます。 A result was returned when none エラー が出て原因がわかりませんでした。 どこがおかしいのか教えてください。 package info.searchman; import java.io.*; import java.sql.*; //import java.util.*; public class KensakuBeans implements Serializable { /** * */ private static final long serialVersionUID = 1L; private String Id; private String name; private String older; private String taiju; private String shintyo; private String other; private String[] results; //Constructor public void Kensaku2Beans() { System.out.println("sitb constructor"); } public void setName(String name) { this.name = name; System.out.println("dkb setter" +name); } // Getting Methods public String getId() { return this.Id; } public String getName() { return this.name; } public String getOld() { return this.older; } public String getTaiju() { return this.taiju; } public String getShintyo() { return this.shintyo; } public String getOther() { return this.other; } public int getCountOfResults() { System.out.println("ucb10"); if (results==null) return 0; else System.out.println("ucb10 else"); return results.length; } public String getResult(int index) { System.out.println("ucb11"); return results[index]; } //execute kensaku public void kensaku() { try { System.out.println("++++" +name); System.out.println("dkb7 insert"); //JDBC Driver Class.forName("org.postgresql.Driver"); System.out.println("dkb7 kensaku2"); Connection con = DriverManager.getConnection("jdbc:postgresql:postgres","postgres","gokui"); Statement stmt = con.createStatement(); System.out.println("dkb7 kensaku3"); String table = "test"; System.out.println(table); System.out.println("dkb7 kensaku4"); System.out.println(name); System.out.println("dkb7 kensaku5"); その2に続く http://okwave.jp/qa/q5933123.html

  • NULLが返ってこない…。

    原因がわからないため質問をさせて頂きます。 <%-- JSP <input type="text" name="name"> //名前 String name = request.getParameter("name"); Data data = new Data(); //コンストラクタをnew data.setName(name); --%> <%-- class(Bean) private String n = null; public void setName(String name){ if(name != null){ n = name; }else{ n = null; } public String getName(){ if(name != null){ return name; }else{ return name; } } --%> 値をgetParameter()メソッドで取得をして 値をsetName(name);でセットをしています。 セットした側でもし値があるのであれば その値を変数に格納。 もし値がなければnullを変数に格納しています。 しかし System.out.println(data.getName().equals("");//true System.out.println(data.getName().equals(null);//false; となりnullを返してくれません…。 このコードに何を足したらnullを返してくれるのか わかりません。 わかる方がいらっしゃいましたらよろしくお願い致します。

    • ベストアンサー
    • Java
  • 実行時のとエラーについて質問します

    SQL文を使ったプログラムを実行しようとするとエラーが 出てしまうのですが、解決方法を教えて下さい。 **** プログラム **************************************** (前略) public class DBAccessMainNaka{ public static void main(String args[])throws Exception{ DBAccessNaka naka = new DBAccessNaka(); System.out.println("操作を選択して下さい"); System.out.println("1.Insert Account 2.Select Account 3.Insert Trainee 4.Select Trainee"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); int res = Integer.parseInt(str); (中略) }else if(res == 2){ System.out.println("名前を入力して下さい"); String name2 = br.readLine(); Account account = nakajima.selectAccount(name2); System.out.println("「検索結果」"); System.out.println("id [" + account.getId() + "]"); System.out.println("name [" + account.getName() + "]"); System.out.println("money[" + account.getMoney() + "]"); (中略) } else if(res == 4){ System.out.println("名前(名)を入力して下さい"); String firstName = br.readLine(); List<Trainee> traineeList = new ArrayList<Trainee>(); traineeList.add((Trainee) nakajima.selectTrainee(firstName)); for(int i=0; i<traineeList.size(); i++){ Trainee trainee =(Trainee)traineeList.get(i); System.out.println("[検索結果]"); System.out.println("id [" + trainee.getId() + "]"); System.out.println("id [" + trainee.getlast_Name() + "]"); System.out.println("id [" + trainee.getfirst_Name() + "]"); System.out.println("id [" + trainee.getbirth_Day() + "]"); } } ************************************************************* res == 1と3のときは上手く実行出来るのですが、 res == 2を選択すると、java.sql.SQLException: ORA-00936: 式がありません。というエラーが出て、 res == 4を選択すると、java.lang.ClassCastExceptionが出てしまいます。 エラーの意味など色々調べたのですが解決出来なかったので、 間違っている記述があれば教えてください。 ただ、他のクラスも利用しているので分かりにくいかもしれないので その際は聞いていただければその部分についても書きます。 変な質問ですみませんが、よろしくお願いします。

    • ベストアンサー
    • Java
  • <bean:write.../>がエラーを出す

    のですが原因が分かりません。 したのソースでコメントアウトしたものが動かないのです。 コメントアウトしていないものは動いています。 何が悪いのでしょうか? よろしくお願いします。 gomi.jsp: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="/WEB-INF/tld/struts-bean.tld" prefix="bean"%> <%@ page isELIgnored="false"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Java JakartaStruts</title> </head> <body> <jsp:useBean id="gomiBean" class="gomi.GomiBean" scope="request" /> <jsp:getProperty property="gomiInt" name="gomiBean"/><br/> ${gomiBean.gomiInt}<br/> <%-- <p>GomiBean gomiInt : <bean:write name="gomiBean" scope="request" property="gomiInt" /></p> --%> </body> </html>