Javaの道 Javaに関する
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道 >  掲示板 >  掲示板(JSP コンパイルエラー)
閲覧数:1044
掲示板(JSP コンパイルエラー)
名前
匿名
題名 JSP コンパイルエラー
質問内容

質問を評価する
(0ポイント)
こんにちは 
JSPのコンパイルエラーで悩まされていて質問させていただきました

<%
    if(request.getAttribute("list")!=null){
    List list=(List)request.getAttribute("list");
    List list1=(List)request.getAttribute("list1");
    List list2=(List)request.getAttribute("list2");
    for(int i=0; i<list.size(); i++){
    out.print(list.get(i)+"    ");
    out.print(list1.get(i)+"    ");
    out.println(list2.get(i));
%><br>

↑これだとコンパイルが成功します

<%
    if(request.getAttribute("list") || request.getAttribute("list1") || request.getAttribute("list2")!=null){
    List list=(List)request.getAttribute("list");
    List list1=(List)request.getAttribute("list1");
    List list2=(List)request.getAttribute("list2");
    for(int i=0; i<list.size(); i++){
    out.print(list.get(i)+"    ");
    out.print(list1.get(i)+"    ");
    out.println(list2.get(i));
%><br>

これだとエラーが発生します・・・
条件を増やしただけなんですが、何か構文がまちがっているのでしょうか??
アドバイスお願いします

SPファイル: /****jsp の中の36行目でエラーが発生しました
The operator || is undefined for the argument type(s) java.lang.Object, java.lang.Object
33: <Hr>
34: 
35: <%
36:     if(request.getAttribute("list") || request.getAttribute("list1") || request.getAttribute("list2")!=null){
37:     List list=(List)request.getAttribute("list");
38:     List list1=(List)request.getAttribute("list1");
39:     List list2=(List)request.getAttribute("list2");


Stacktrace:
    at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:93)
    at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
    at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:435)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:298)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:302)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    at java.lang.Thread.run(Unknown Source)
質問日時 2013-04-12 10:31:51
名前
匿名
回答内容

回答を評価する
(0ポイント)
エラーメッセージ
>The operator || is undefined for the argument 
type(s) java.lang.Object, java.lang.Object
にあるように、||演算子はObjectクラスのインスタンスを
条件にはできません。

>request.getAttribute("list")!=null

>request.getAttribute("list")
の戻り値の違いは分かりますよね。
回答日時 2013-04-12 11:46:56
名前
匿名
回答内容

回答を評価する
(0ポイント)
質問者です
単純ミスでした・・

ありがとうございます!!
回答日時 2013-04-12 12:20:09
名前
匿名
回答内容

回答を評価する
(0ポイント)
jspはコンパイルされて、普通のjavaファイルになる。
だからコンパイルされて作られたjavaファイルを、
Eclipseに取り込むと、こういう単純なのは見つけやすいよ。
回答日時 2013-04-12 12:46:14
名前
匿名
回答内容

回答を評価する
(0ポイント)
なるほど・・・
JSPはコンパイルエラーに悩まされることが多いので
やってみます!!
回答日時 2013-04-12 13:20:01

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。



このページのトップへ
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道_CopyrightJavaの道