JSPページで得られた変数値をサーブレットページに渡しています。私はセッションを使いました。しかし、それは次のようになりますNullPointerException
。JSPからサーブレットに変数値を渡す
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);
}
問題は、セッション値がNullpointerException
与えサーブレットに渡されていないことです。なぜこれが起こっているのでしょうか?
? 'text'か' extractedText'ですか? – brso05
JSP内でplain javaを使用しないでください。 JSTLは、Javaの代わりにJSTLを使用しています。 –
'text'というセッション属性を設定し、' extractedText'という名前のセッション属性を取得しています。だから、それは 'ヌル'だ。 –