我在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");
在此行发现的多个注释
答案 0 :(得分:0)
您的输出错误
<% out.println("questionp"); %>
这不会打印您恢复的值,而是文本&#34; questionp&#34;。
您需要使用
输出变量<% out.println(questionp); %>
或者
<%= questionp %>
要获得更多解决方案,see the post
编辑:
对于您的编辑,multiple annontaion
表示您已使用此名称声明变量。在这里,您声明questionp
两次。
String questionp;
if (rs.next()) {
String questionp = rs.getString("question");
删除类型:
String questionp = null;
if (rs.next()) {
questionp = rs.getString("question");