在WildFly 13上的Java EE应用程序的JSP文件中注入Java Bean时遇到问题。 就像
@Named
@Stateless
public class LayoutProvider {
@Inject
HttpServletRequest request;
}
它在JSP中定义为
<jsp:useBean id="layoutProvider" scope="request" class="myapp.LayoutProvider"/>
用法
<%=layoutProvider.render()%>
然后是奇怪的部分。在工作期间,我正在检查一些使我将web.xml中的servlet版本设置为2.5的功能。
<web-app version="2.5">
一切正常,但是随后我做了一些清理工作,并删除了该定义,因为以前没有在任何地方设置它。 更改之后,似乎渲染方法已运行,但是Request始终为null,例如@Inject无法正常工作。设置版本后,一切都很好。 我正在使用WildFly 13,对Java EE生态系统还是很陌生。
不再注入该bean会发生什么?