実際、jspページからjavaサーブレットに値を取得する際に問題に直面しています。 ドロップダウンリストでは、他のすべての値を取得できるドロップダウン値が1つだけnullになります。私が間違っているところを理解していない。誰でも助けてくれますか?jspページからjavaサーブレットへの値の取得
アップロードページですべての値が正常に入力されています。しかし、この問題は検索ページでのみ発生します。データがHTMLからサーブレットに渡されないため、データを取得できません。
package fileretrieve;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.nio.charset.Charset;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
import org.apache.tomcat.util.http.fileupload.IOUtils;
import dbConnection.Dbconn;
@MultipartConfig
public class FileRetrieve extends HttpServlet {
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("application/octet-stream");
PrintWriter out = response.getWriter();
String onelevel=request.getParameter("onelevel");
String twolevel=request.getParameter("twolevel");
String threelevel=request.getParameter("threelevel");
String fourlevel=request.getParameter("fourlevel");
String fivelevel=request.getParameter("fivelevel");
//
//
//
Connection conn = null; // connection to the database
String message = null;
Statement st = null;// message will be sent back to client
try {
// connects to the database
conn = Dbconn.getConnection();
st = conn.createStatement();
PreparedStatement ps=conn.prepareStatement("select data,filename,extension from files1 where board=? AND syllabus=? AND class=? AND subject=? AND chapters=? ");
ps.setString(1,onelevel);
System.out.println("2"+twolevel);
System.out.println("3"+threelevel);
System.out.println("4"+fourlevel);
System.out.println("5"+fivelevel);
ps.setString(2,twolevel);
ps.setString(3,threelevel);
ps.setString(4,fourlevel);
ps.setString(5,fivelevel);
//out.print("<table width=25% border=1>");
// out.print("<center><h1>Result:</h1></center>");
ResultSet rs=ps.executeQuery();
/* Printing column names */
ResultSetMetaData rsmd=rs.getMetaData();
int count=0;
String filenames="\"";
String paths="\"";
while(rs.next())
{
count=count+1;
String extension;
// if(rs.getString(2)=="docx"){
// extension=".docx";
// }else if(rs.getString(2)=="pdf"){
// extension=".pdf";
// }
extension=rs.getString(2).substring(rs.getString(2).lastIndexOf(".") + 1).toLowerCase();
FileOutputStream fos = new FileOutputStream("C:\\Users\\JR00432239\\Desktop\\trial\\WebContent\\filetest"+count+"."+extension);
fos.write(rs.getBytes(1));
fos.close();
// out.print("<tr>");
// out.print("<td>"+rsmd.getColumnName(1)+"</td>");
// out.print("<td><a href=\"file:///C:/Users/JR00432239/Desktop/trial/src/temp/test.pdf\" target=\"_self\">"+rs.getString(2)+"</a></td></tr>");
// getServletContext().getRequestDispatcher("/home.html").forward(request, response);
System.out.println("writing...");
System.out.println(rs.getString(2));
filenames=filenames+rs.getString(2)+";";
paths=paths+"http://localhost:8087/trial/filetest"+count+"."+extension+";";
// filenames=filenames+rs.getString(2)+";";
// paths=paths+"http://localhost:8087/trial/filetest"+extension+";";
//
//
}
filenames=filenames+"\"";
paths=paths+"\"";
response.getWriter().write("{\"name\":"+filenames+",\"path\":"+paths+"}");
// out.print("</table>");
//
}catch (Exception e2)
{
e2.printStackTrace();
}
finally{
// request.setAttribute("data", data);
// RequestDispatcher rd =request.getRequestDispatcher("userview.jsp");
//
out.close();
}
// forwards to the message page
// getServletContext().getRequestDispatcher("/home.html").forward(request, response);
}
}
「フォーム」タグサーブレット名を指定していませんか? – soorapadman
ボタンIDを使用して、私はajax関数を書きました。その機能で私はサーブレット名を指定しました –
問題がどこにあるのかを共有してください – soorapadman