我将在JSP页面中获得的变量值传递给servlet页面。我使用会话。但它给出以下NullPointerException
。将变量值从JSP传递到Servlet
java.lang.NullPointerException
com.google.api.client.http.GenericUrl.appendParam(GenericUrl.java:599)
com.google.api.client.http.GenericUrl.addQueryParams(GenericUrl.java:582)
com.google.api.client.http.UriTemplate.expand(UriTemplate.java:346)
com.google.api.client.http.UriTemplate.expand(UriTemplate.java:259)
com.google.api.client.googleapis.services.AbstractGoogleClientRequest.buildHttpRequestUrl(AbstractGoogleClientRequest.java:266)
com.google.api.client.googleapis.services.AbstractGoogleClientRequest.buildHttpRequest(AbstractGoogleClientRequest.java:301)
com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:419)
com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:352)
com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:469)
com.translator.api.TranslatorApi.getTranslate(TranslatorApi.java:66)
control.TextTranslation.doPost(TextTranslation.java:47)
javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
imageExtract.jsp
</div>
<div class="row">
<div id = "display" class="col-lg-8 center-block ">
<%
String extracted = (String) request.getAttribute("extractedText");
session.setAttribute("text", extracted);
%>
<textarea maxlength="200" class=" form-control " name="msg" rows="20" id="Extract-textarea" ><%=extracted %> </textarea>
</div>
</div>
TextTranslate.java
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
String language = "ES";
HttpSession extractedText = request.getSession();
String imageName = (String) extractedText.getAttribute("extractedText");
System.out.println("this is so stupid");
System.out.println("This is "+imageName);
TranslatorApi translation = new TranslatorApi();
String outputText = translation.getTranslate(imageName, language);
System.out.println("Second"+outputText);
request.setAttribute("outputText", outputText);
RequestDispatcher sndValue = request.getRequestDispatcher("/translation.jsp");
sndValue.forward(request, response);
}
的问题是,会话值不会传递到Servlet,这给NullpointerException
。为什么会发生这种情况?
哪个值的问题? 'text'或'extractedText'? – brso05
请避免在JSP中使用普通的java。 JSTL在它内部替换Java方面做得很好。 –
您正在设置一个名为'text'的会话属性,并*获得一个名为'extractedText'的会话属性。这就是为什么它是'空'。 –