2016-11-22 32 views
0

私はjspでプログラムで作業していて、自分でjspを学習しました。jspのこの行で多数の注釈が見つかりました

私は質問がデータベーステーブルから得られるクイズプログラムを行っています。質問が投稿されるクイズページのコードはここにあります。上記のコードで

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<!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=ISO-8859-1"> 
<title>Insert title here</title> 
</head> 
<body> 

    <%@ include file="_header.jsp"%> 

    <center>QUIZ PROGRAM</center> 

    <br /> 

    <%@ page import="java.sql.*"%> 

    <% 
     //print the question and answer 

     int questionaire = 1; 
     Class.forName("com.mysql.jdbc.Driver"); 
     Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/quiz", "root", ""); 
     PreparedStatement pst = con.prepareStatement("SELECT * FROM questions WHERE id = ?"); 
     pst.setInt(1, questionaire); 

     ResultSet rs = pst.executeQuery(); 

     int questionId; 
     String questionp; 

     if (rs.next()) { 
      questionId = rs.getInt("id"); 
      String questionp = rs.getString("question"); 
      //String option1 = rs.getString("option1"); 
      //String option2 = rs.getString("option2"); 
      //String right = rs.getString("right"); 
      questionaire++; 
     } 
     //get the answer and check 
     //String question1 = "asd"; 
    %> 

    <center> 
     <form method="post" action="quiz.jsp"> 
      <table border="1" cellpadding="5" cellspacing="2" align="center"> 
       <thead> 
        <tr> 
         <th colspan="2"><% out.println(questionp); %></th> 
        </tr> 
       </thead> 
       <tbody> 

        <tr> 
         <td><input type="radio" name="question" 
          value="value1">Yes</td> 
         <td><input type="radio" name="question" 
          value="value2">No</td> 
        </tr> 
        <tr> 
         <td colspan="2" align="center"><input type="submit" 
          value="Next" onClick="next();" /></td> 
        </tr> 
       </tbody> 
      </table> 
     </form> 
    </center> 



</body> 
</html> 

、私はあなたの出力が間違っている、このラインで発見

String questionp = rs.getString("question"); 

muliple注釈

enter image description here

+0

を?あなたは直面している問題は何ですか?あなたの問題を正しく記述する方法については、この[link](http://stackoverflow.com/help/how-to-ask)を参照してください。 – greenPadawan

+0

'<%out.println(" questionp "); %> 'は変数ではなく' questionp'という値を出力します。 '<%out.println(questionp);を使用します。 %> 'または' <%= questionp%> '(私は思う)。しかしgreenPadawanのように、次の時間に[ask]と[mcve]を提供してください。それを書くだけで、あなたはあなたの問題を見つけるでしょう。 )サーブレットと 'Jstl'を使ってJSPを正しく書く方法をすばやく学ぶべきだと私は付け加えます) – AxelH

+0

@greenPadawn申し訳ありませんが、私は自分の問題を説明していません、今私は質問を編集しました。問題は、まだそれはエラーを示しています。 – javailike

答えて

0

、という内容のこの行でエラーを取得しています

<% out.println("questionp"); %> 

これで回復した値は表示されず、 "questionp"というテキストが表示されます。

もっとソリューション、 see the post

EDITについては

<% out.println(questionp); %> 

それとも

<%= questionp %> 

とあなたは出力に変数を必要とする

:あなたの編集のために

multiple annontaionは、すでにこの名前の変数を宣言していることを意味します。ここでは、questionpを2回宣言します。

String questionp; 
if (rs.next()) { 
    String questionp = rs.getString("question"); 

タイプ取り除く:あなたの質問は何ですか

String questionp = null; 
if (rs.next()) { 
    questionp = rs.getString("question"); 
+0

<%out.println(questionp);行にエラーが表示されています。 %>ローカル変数questionpが初期化されていない可能性があります。 – javailike

+0

@javailikeこれは私がチェックしなかったためです。あなたが 'else'を持っていないので、文字列は決して初期化されていないかもしれません。そのため、デフォルト値またはnullを指定して値を初期化します。 (編集済みのコードを見てください)これは基本的なJavaの一部ですが、Javaを知らないとJSPをすばやく学ぶことはできません。 – AxelH

+0

int、int questionId = null;これは私にエラー – javailike

関連する問題