2011-07-01 5 views
0

私は、単純なJSPファイル持って働いていない:、JSPのsendRedirectが

String url =""; 

    if(aController.find(Integer.parseInt(request.getParameter("id"))) != (null)) 
    { 
     url += request.getParameter("name") + "&id="+request.getParameter("id") + "&__locale=" + LocaleUtil.setLocaleStringMail(request, response); 
     url += "&__overwrite=true"; 
     System.out.println("this report has not been deleted"); 
     response.sendRedirect(url); 
    } 
    else{ 
    url += "error.rptdesign&__locale=" + LocaleUtil.setLocaleStringMail(request, response) + "&user="+report.getCreatorName(); 
     System.out.println("this report has been deleted"); 
     response.sendRedirect(url); 
    } 

それが第一の条件に入るには、システムを行い、リダイレクトを送信します。しかし、それ以外の例外はありません。

[#|2011-07-01T16:29:08.595+0300|WARNING|glassfishv3.0|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=29;_ThreadName=Thread-1;|StandardWrapperValve[jsp]: PWC1406: Servlet.service() for servlet jsp threw exception 
java.lang.NullPointerException 
    at org.apache.jsp.user.report_005fredirect_jsp._jspService(report_005fredirect_jsp.java from :74) 
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:109) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) 
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:408) 
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:483) 
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:373) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) 
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) 
    at com.labristeknoloji.lcas.client.filters.SingleSignOutNameAddFilter.doFilter(SingleSignOutNameAddFilter.java:56) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) 
    at org.jasig.cas.client.util.AssertionThreadLocalFilter.doFilter(AssertionThreadLocalFilter.java:40) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) 
    at org.jasig.cas.client.util.HttpServletRequestWrapperFilter.doFilter(HttpServletRequestWrapperFilter.java:50) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) 
    at org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:167) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) 
    at com.labristeknoloji.lcas.client.filters.LCASAuthenticationFilter.doFilter(LCASAuthenticationFilter.java:111) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) 
    at org.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:104) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) 
    at com.labristeknoloji.lrms.web.filter.LocaleFilter.doFilter(LocaleFilter.java:76) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:277) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188) 
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641) 
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97) 
    at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185) 
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641) 
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:329) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:233) 
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:229) 
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:334) 
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:814) 
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:743) 
    at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:936) 
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:682) 
    at java.lang.Thread.run(Thread.java:619) 

あなたはこれについて意見がありますか? ありがとうございます。

+0

タイトルでは、sendRedirectは機能していませんが、あなたは 'then'ブロックで動作すると書いています。コントロールが 'else'ブロックに到達しない場合は、使用するfindメソッドに問題があります。 – buc

答えて

1

これは、JSPでのスクリプトレットの作成の美点です。どのラインで何が起こっているのか把握することはできません。 aControllerがnullの可能性があります。ちょうど推測。

+0

はい、あなたは正しいですaControllerはnullを返し、これにより例外をスローします。 try catch文も書きましたが、例外をキャッチしませんでした。この場合、何ができるかについて意見がありますか? – lamostreta

+0

aControllerオブジェクトを作成します。他の場所で同じaControllerを再利用したいかもしれないので、Singletonオブジェクトを使用することをお勧めします。 – zawhtut

関連する問題