En passant cachés de la valeur d'entrée de jsp de servlet
Je suis en train de générer un fichier excel lorsque le lien est cliqué sans être redirigé n'importe où. Je le fais dans la servlet mais lorsque j'essaie de récupérer la valeur d'une cachée d'entrée, j'obtiens une exception de pointeur null. Le code que j'utilise est
JSP
<html:form action="/UploadExcel.do" enctype="multipart/form-data" method="post">
<a href="#" onclick="ExcelFiller.fill">Download Excel</a>
<input type="hidden" name="refBgcId" id="refBgcId" value="84"></input>
</html:form>
Servlet
public class ExcelFiller extends HttpServlet {
private static final long serialVersionUID = 1L;
public void init(ServletConfig config) throws ServletException {
super.init(config);
}
public void destroy() {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("Made it to the servlet");
doPost(request,response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("In doPost");
HttpSession session=(HttpSession) request.getSession(false);
String loggedInUserId = (String)session.getAttribute("strUserId");
try{
String referenceid = request.getParameter("refBgcId").toString();/*NULL POINTER EXCEPTION*/
ArrayList<String> details = new ArrayList<String>();
details = UploadBGCDAO.getDetails(referenceid);
createExcel(request,response,details, loggedInUserId);
} catch (Exception e) {
e.printStackTrace();
}
}
}
J'ai essayé de trouver la solution dans les réponses à des questions similaires sur ce site, mais je ne peut toujours pas faire ce travail. Quelqu'un peut-il me dire ce que je fais mal?
Vous devez vous connecter pour publier un commentaire.
vous pouvez passer des paramètres dans l'URL en Java Script :
et dans le servlet vous pouvez accéder en
Paramètre d'entrée sera transmis à la servlet uniquement lorsque vous remplissez un formulaire, pas quand votre balise d'ancrage est cliqué.
Si vous voulez passer un paramètre ajoutez le paramètre dans une Chaîne de requête.
et dans la servlet apporter les modifications suivantes.
le nom de l'attribut est
refBgcId
.modifier l'instruction
String referenceid = request.getParameter("ref_id").toString();
à
String referenceid = request.getParameter("refBgcId").toString();
Chaîne referenceid = request.getParameter("refBgcId").toString(); //ici refBgcId est un nom...à ne pas confondre avec le nom et l'Id de passe nom de jsp
et puis dans le servlet essayer cette
Chaîne referenceid = request.getParameter("refBgcId").toString();