At several places in the code, error messages are referenced by 'jsp.error.useBean', but in the corresponding property-files, 'useBean' is written all lowercase: 'usebean'. Therefore the error messages are not found: grep -r "jsp.error.useBean" jakarta-tomcat-jasper/jasper2/ jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/BeanRepository.java: errDispatcher.jspError(n, "jsp.error.useBean.badScope"); jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Validator.java: err.jspError(n, "jsp.error.useBean.missingType"); jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Validator.java: err.jspError(n, "jsp.error.useBean.duplicate"); jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Validator.java: err.jspError(n, "jsp.error.useBean.noSession"); jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Validator.java: err.jspError(n, "jsp.error.useBean.notBoth"); but jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/LocalStrings.properties:jsp.error.usebean.not.both=useBean: Can't specify both class and beanName attribute:
Corrected spelling in source code. Thanks for pointing this out.