Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 月食不是';t更新JSP脚本中的自定义方法_Java_Eclipse_Jsp_Scriptlet - Fatal编程技术网

Java 月食不是';t更新JSP脚本中的自定义方法

Java 月食不是';t更新JSP脚本中的自定义方法,java,eclipse,jsp,scriptlet,Java,Eclipse,Jsp,Scriptlet,我正在编辑一个动态Web项目,在项目的/src文件夹中有一个简单的类,并有一个.jsp页面来访问它 在Eclipse中,.jsp页面只识别我的类中的一些方法是存在的——其他类得到“该方法…未定义”和“该方法…不可见”,即使代码的编译和工作方式与我预期的一样。但这只是偶尔发生的 <% myConnectionDBO = ConnectionDBO.getInstance(); out.println("Is connected? " + myConnectionDBO.isC

我正在编辑一个动态Web项目,在项目的/src文件夹中有一个简单的类,并有一个.jsp页面来访问它

在Eclipse中,.jsp页面只识别我的类中的一些方法是存在的——其他类得到“该方法…未定义”和“该方法…不可见”,即使代码的编译和工作方式与我预期的一样。但这只是偶尔发生的

<%
myConnectionDBO = ConnectionDBO.getInstance();
out.println("Is connected? "
        + myConnectionDBO.isConnected()
        + "<br>");
out.println("Attempting resultset grab...<br>");

ResultSet rs = myConnectionDBO.doSelectWhere(1);
%>

  • .getInstance()
    没有任何语法错误(但应该有,因为它是后来添加的)
  • .isConnected()
    显示未定义的错误(假阳性)
  • .doSelectWhere()
    显示“不可见”和“无法从void转换为ResultSet”(同上)

在您询问之前,我已经重建/清理了我的项目,从项目浏览器中刷新了它,启用了自动构建,重新启动了我的应用程序服务器(JBoss),并重新启动了Eclipse。问题依然存在。

尽管您必须按照上一篇文章的建议(JSTL+EL=awesomness)执行操作,但我想知道您是否错过了导入包含这些方法定义的类的指令。

听起来您的JSP中使用scriptlet将Java代码与HTML混合在一起,这会把你的项目搞得一团糟,我建议你现在就停下来,使用JSTL和一个MVC框架,比如SpringMVC,这里有一个很好的教程:我将更新我的帖子来反映这一点。事实上,Scriptlet看起来非常密集,Spring肯定是我的未来。回顾过去,我实际上也包括了它(不是有意的,而是通过模板)——但我通过在JSP本身中使用少得多的代码来修复它。