java - 类型中的方法不适用于参数 - 但它应该是(jsp)

标签 java jsp

在我的 Java 类中 DBManager我有一个方法

alterRights(int, HashMap<Integer,Right>)

在我的 JSP 文件中我这样做

HashMap<Integer,Right> radios = new HashMap<Integer,Right>();

然后我添加一些项目,然后我就这样做了

dbm.alterRights(alterKlausurID, radios);

( dbmDBManager 的实例)

这里抛出了异常。它说:“DBManager 类型中的方法 alterRights(int, HashMap) 不适用于参数 (int, HashMap)”。在以前的版本中,该方法实际上是 alterRights(int, HashMap<Integer,String>) ,但我改变了它,它甚至有效,直到我改变了其他东西。我什至没有触及这个方法或与之相关的任何东西。对我来说,JSP 文件似乎加载了旧版本的 dbm但我不知道这怎么可能。

最佳答案

这里常见的问题是 JSP 或 DBManager 在更改后未编译。

确保编译项目中的所有内容。如果您让应用程序服务器为您编译 JSP,请更改您的构建以将它们与其余代码一起编译(然后,您会在构建项目时遇到此类问题)。

同时,请阅读应用程序服务器的文档并了解如何刷新 JSP 编译缓存。很可能那里挂着旧版本的已编译 JSP。如果您无法弄清楚这一点,请取消部署您的应用程序,关闭应用程序服务器,重新启动它,然后再次部署。

关于java - 类型中的方法不适用于参数 - 但它应该是(jsp),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21000128/

相关文章:

java - 只有一个类的构建器模式

java - J2ee session 跟踪

Java:使用分隔符连接基元数组

java - 如何使用JDBC将jsp输入类型 "time"中的用户输入值插入到MYSQL数据库中

java - 在eclipse中编辑JSP会破坏特殊字符吗?

java - 将 HTML 链接到 JSP 页面

jsp - 升级正在运行的 Tomcat servlet

java - 需要帮助在 Adob​​e CQ 5.4 中实现页面激活事件监听器

java - 使用 replaceAll 或 Pattern Matcher 替换字符串

Java 库截断 html 字符串?