jsp:useBean的class屬性問題

來源:互聯網
上載者:User
 剛學jsp就遇到了這個問題,寫bean的時候想不要弄那麼複雜,就沒有將類打包,即沒有使用package語句,bean編譯的時候是正確的,就把編譯後的class檔案放到了WEB-INF/classes目錄下,接下來用
  1. <jsp:useBean id="onlineCount" class="mypack.OnlineCount" />
  2. <jsp:setProperty name="onlineCount" property="count" value="8" />
  3. <jsp:getProperty name="onlineCount" property="count" />

結果編譯錯誤了:

  1. org.apache.jasper.JasperException: Unable to compile class for JSP: 
  2. An error occurred at line: 12 in the jsp file: /index.jsp
  3. OnlineCount cannot be resolved to a type
  4. 9:  <title>鎴戠殑緗戠珯</title>
  5. 10: </head>
  6. 11: <body>
  7. 12:     <jsp:useBean id="onlineCount" class="OnlineCount" />
  8. 13:     <jsp:setProperty name="onlineCount" property="count" value="8" />
  9. 14:     <jsp:getProperty name="onlineCount" property="count" />
  10. 15: </body>
  11. An error occurred at line: 12 in the jsp file: /index.jsp
  12. OnlineCount cannot be resolved to a type
  13. 9:  <title>鎴戠殑緗戠珯</title>
  14. 10: </head>
  15. 11: <body>
  16. 12:     <jsp:useBean id="onlineCount" class="OnlineCount" />
  17. 13:     <jsp:setProperty name="onlineCount" property="count" value="8" />
  18. 14:     <jsp:getProperty name="onlineCount" property="count" />
  19. 15: </body>
  20. An error occurred at line: 12 in the jsp file: /index.jsp
  21. OnlineCount cannot be resolved to a type
  22. 9:  <title>鎴戠殑緗戠珯</title>
  23. 10: </head>
  24. 11: <body>
  25. 12:     <jsp:useBean id="onlineCount" class="OnlineCount" />
  26. 13:     <jsp:setProperty name="onlineCount" property="count" value="8" />
  27. 14:     <jsp:getProperty name="onlineCount" property="count" />
  28. 15: </body>
  29. An error occurred at line: 14 in the jsp file: /index.jsp
  30. OnlineCount cannot be resolved to a type
  31. 11: <body>
  32. 12:     <jsp:useBean id="onlineCount" class="OnlineCount" />
  33. 13:     <jsp:setProperty name="onlineCount" property="count" value="8" />
  34. 14:     <jsp:getProperty name="onlineCount" property="count" />
  35. 15: </body>
  36. 16: </html>
  37. Stacktrace:
  38.     org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
  39.     org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
  40.     org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:423)
  41.     org.apache.jasper.compiler.Compiler.compile(Compiler.java:317)
  42.     org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
  43.     org.apache.jasper.compiler.Compiler.compile(Compiler.java:282)
  44.     org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
  45.     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
  46.     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
  47.     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
  48.     javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

查了好久的資料才知道了要怎麼解決,必須要把類放在包裡:

  1. <jsp:useBean id="onlineCount" class="mypack.OnlineCount" />
  2. <jsp:setProperty name="onlineCount" property="count" value="8" />
  3. <jsp:getProperty name="onlineCount" property="count" />

這樣才運行正確了。

但是我到現在還是不明白為什麼非要把類放在包裡呢?在部署servlet時卻可以不用放在包下面,問題現在是解決了,可是還是不知道為什麼,還望知道的朋友告訴我一聲,謝謝。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.