Java 无法在jsp页面中打印request.getparameter值
我是jsp新手,我尝试在jsp页面中打印我的数据库值, 当我直接打印s1=一月和s2=2012值时,下面的程序工作正常,这两个值都是数据类型VARCHARJava 无法在jsp页面中打印request.getparameter值,java,mysql,sql,jsp,Java,Mysql,Sql,Jsp,我是jsp新手,我尝试在jsp页面中打印我的数据库值, 当我直接打印s1=一月和s2=2012值时,下面的程序工作正常,这两个值都是数据类型VARCHAR String QueryString = "SELECT reading,totalcost,paiddate,receiptnumber FROM userseven WHERE readingmonth = '"+s1+"' AND readingyear= '"+s2+"'"; 如果我试图打印我的request.getparamete
String QueryString = "SELECT reading,totalcost,paiddate,receiptnumber FROM userseven WHERE readingmonth = '"+s1+"' AND readingyear= '"+s2+"'";
如果我试图打印我的request.getparametert1 t1,则包含一月值request.getparametert2;t2包含2011年
它不会打印任何想法
String QueryString = "SELECT reading,totalcost,paiddate,receiptnumber FROM userseven WHERE readingmonth = '"+s11+"' AND readingyear= '"+s22+"'";
<body>
<form action="yeardb.jsp">
<table border="1" >
<tr>
<td>Select Year</td>
<td>
<select name="t1">
<option value="2013">2013</option>
<option value="2012">2012</option>
<option value="2011">2011</option>
<option value="2010">2010</option>
</select>
</td></tr><tr><td>
<tr><td>Select Month:</td>
<td>
<select name="t2">
<option value="january">JANUARY</option>
<option value="march">March</option>
<option value="may">May</option>
<option value="july">JULY</option>
<option value="aug">AUGUEST</option>
<option value="oct">OCTOBER</option>
<option value="dec">DECEMBER</option>
</select></td></tr><tr><td>
<input type= "submit" value="submit" >
</td></tr>
</table>
</form>
</body>
yeardb.jsp
********
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@page import="com.mysql.jdbc.Driver"%>
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<html>
<head>
<title>display data from the table using jsp</title>
</head>
<body>
<h1>welcome</h1>
<%
String s11=request.getParameter("t1");
String s22=request.getParameter("t2");
String s1="january";
String s2="2011";
out.print("i am String"+s11);
out.print("i am String"+s22);
out.print("outside try");
try {
out.print("inside try");
String connectionURL = "jdbc:mysql://localhost:3306/horizontal";
Connection connection = null;
Statement statement = null;
ResultSet rs = null;
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager.getConnection(connectionURL, "root", "root");
statement = connection.createStatement();
out.print("before query");
String QueryString = "SELECT reading,totalcost,paiddate,receiptnumber FROM userseven WHERE readingmonth = '"+s1+"' AND readingyear= '"+s2+"'";
out.print("after query");
rs = statement.executeQuery(QueryString);
%>
我更深入地查看了您的代码,您正在设置:
String s22=request.getParameter("t2");
t2包含月份,但s2变量包含年份。交换一下,你会没事的
String s11=request.getParameter("t1"); <- This is your year
String s22=request.getParameter("t2"); <- This is your month
....
String QueryString = "SELECT reading,totalcost,paiddate,receiptnumber FROM userseven WHERE readingmonth = '"+s22+"' AND readingyear= '"+s11+"'";
祝你好运
String s11=request.getParameter("t1"); <- This is your year
String s22=request.getParameter("t2"); <- This is your month
....
String QueryString = "SELECT reading,totalcost,paiddate,receiptnumber FROM userseven WHERE readingmonth = '"+s22+"' AND readingyear= '"+s11+"'";
String QueryString = "SELECT reading,totalcost,paiddate,receiptnumber FROM userseven WHERE readingmonth = ? AND readingyear= ?";
PreparedStatement ps = connection.prepareStatement(QueryString )
ps.setString(1, s22);
ps.setString(2, s11);
rs = ps.executeQuery();