使用JSF从JSP创建的会话bean
因此,我正在使用JSF创建和管理一个bean。JSF然后链接到我需要访问托管bean的JSP页面。JSF代码:使用JSF从JSP创建的会话bean,jsp,jsf,Jsp,Jsf,因此,我正在使用JSF创建和管理一个bean。JSF然后链接到我需要访问托管bean的JSP页面。JSF代码: <h:inputText id="firstName" value="#{registration.lastName}"/> <h:commandButton value="Register" action="confirm.jsp"/> JSP: <jsp:useBean id = "registration" scope = "session"
<h:inputText id="firstName" value="#{registration.lastName}"/>
<h:commandButton value="Register" action="confirm.jsp"/>
JSP:
<jsp:useBean id = "registration" scope = "session"
class = "Project1.Registration">
</jsp:useBean>
<%=
registration.getFirstName()
%>
因此,JSP firstName为null。您可以使用“usebean”访问JSFbean吗?我还需要做更多的事情来调用JSP并传递托管bean吗?显然,这是一个类,我不认为有理由这样混合使用这两个类,但遗憾的是,这是一个要求。感谢您的帮助 有两个错误:
。只需直接按其名称访问即可。它是一个会话范围的bean,只是通过${registration}
以通常的EL方式作为会话属性提供
和EL变量都不是scriptlet
范围中可用的直接变量。取而代之的是,用常规的方法。更重要的是,十多年来,Scriptlet一直受到强烈的抵制。您应该停止使用它们,并将web.xml
配置为禁用它们
<c:out value="${registration.firstName}" />
从技术上讲,
不是强制性的,您也可以只使用${registration.firstName}
,但与Facelets相反,传统JSP没有。因此,在功能上必须使用
,以防止在HTML输出中内联重新显示未初始化的用户控制输入时出现XSS攻击漏洞
另见:
- 如果bean已经由某个控制器预先创建(比如JSF,甚至是普通的servlet),则不需要
。只需直接按其名称访问即可。它是一个会话范围的bean,只是通过
以通常的EL方式作为会话属性提供${registration}
和EL变量都不是scriptlet
范围中可用的直接变量。取而代之的是,用常规的方法。更重要的是,十多年来,Scriptlet一直受到强烈的抵制。您应该停止使用它们,并将
配置为禁用它们web.xml
因此,总而言之,这应该可以:
- 有两个错误:
<c:out value="${registration.firstName}" />
从技术上讲,
不是强制性的,您也可以只使用${registration.firstName}
,但与Facelets相反,传统JSP没有。因此,在功能上必须使用
,以防止在HTML输出中内联重新显示未初始化的用户控制输入时出现XSS攻击漏洞
另见: