糟糕,这种事又发生了。
今天,当我将代码从一个包移动到另一个包时,我做了一些重构,但忘记更新 JSP 的导入语句。单元测试通过了通常的 SUCCESS 消息,代码编译时没有错误或警告,但在运行时有一个很大的异常在等着我。
使用 Eclipse 或 IntelliJ IDEA,您如何处理对 Java 代码进行的重构更改未反射(reflect)在 JSP 中的情况?我可以做些什么来强制执行此操作吗?
最佳答案
好吧,如果您遵循最佳实践,那么您的 JSP 中将不会有任何 scriptlet 代码,因此也不会出现任何 import 语句。如果您重命名 JSP EL 表达式中使用的 getter(例如),您仍然需要重构 JSP,但类名的更改不会产生任何影响。
我会将 JSP 编译集成到您的构建过程中(至少在持续集成服务器上),以检测 JSP 中的此类问题。这是how to do it with Tomcat 。您可以使用 Selenium 或 HtmlUnit 集成测试来检查 JSP 的执行是否没有问题。
关于java - 反射(reflect)重构变化(Java -> JSP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13653849/