为什么${bean.property}会在JSP中自动创建bean?
我知道JSP已经被弃用了 ,提到 在JSP中,${}不会在托管bean不在时自动创建它 范围尚未确定。因此,只有当您能够保证{}在 同一个托管bean以前在 组件树,并查看构建时间与查看渲染时间 生命周期考虑在内 为了验证这是否属实,我提出了以下建议: 这样一个简单的JSP页面为什么${bean.property}会在JSP中自动创建bean?,jsp,jsf,el,managed-bean,Jsp,Jsf,El,Managed Bean,我知道JSP已经被弃用了 ,提到 在JSP中,${}不会在托管bean不在时自动创建它 范围尚未确定。因此,只有当您能够保证{}在 同一个托管bean以前在 组件树,并查看构建时间与查看渲染时间 生命周期考虑在内 为了验证这是否属实,我提出了以下建议: 这样一个简单的JSP页面 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <html> <head&g
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
</head>
<body>
${myPlayersBean.playerName}
Here
</body>
</html>
点击http://localhost:8080/Leonard/faces/create.jsp
:
Rafael Here
请建议?此声明
在JSP中,${}在托管bean不在作用域内时不会自动创建它
仅当您使用JSF1.1或更高版本,或当您使用JSP2.0或更高版本时,才适用。自从JSF1.2和JSP2.1以来,JSFEL一直与JSPEL在一起,这就是它开始工作的原因(通过)
尽管如此,不建议使用
${…}
访问JSF托管bean。它是不可写的,而{…}
是可写的,因此您确实需要在输入组件中使用{…}
。在同一个JSF页面中混合使用${…}
和{…}
可能会让未来的代码读者/维护者感到困惑。哪个JSF impl/版本?与过去相比,行为可能有所改变。@BalusC:Mojarra 2.0。3@BalusC:请据此进行编辑;哪个容器impl/version?您启用了CDI吗?我只会编辑一次,我知道,并可以解释的原因。我可以保证,这是永远不会起作用的。至少,不是在JavaEE5时代。@BalusC:我使用的是Tomcat7.0.68。没有CDI。
Rafael Here