如何在JSP中获取Bean数据

PersonBean在会话范围内定义了bean 。

我想要的是PersonBean.personId在jsp页面中找到。

我希望在jsp页面中使用它,因为我想基于此进行一些计算personId。任何人都知道如何获得相同的东西。

在JSP中,我可以使用jsf进行打印

<h:outputText value="#{PersonBean.personId}" />

但是我需要将此值分配给jsp中的某个整数值,如下所示。

<h:outputText value="#{PersonBean.personId}" />

<%

int i = new PersonBean().getPersonId;

^^^^^^^^^^^^^^^^^^^^^^^^^^^^

%>

我以为int i = new PersonBean().getPersonId;可以,但是不起作用。我知道如何得到这个吗?

回答:

我也试过

<jsp:useBean id="sessionPersonalDataBean" class="com.sac.databean.PersonalInformationDataBean" scope="session"/>

<%

out.print("my id is " + sessionPersonalDataBean.getPersonId());

%>

我仍然得到输出my id is 0而不是my id is 0

使用时,<h:outputText value=#{PersonalInformationDataBean.personId} />我会得到正确的输出。

回答:

您应该避免在JSP中使用scriptlet,而是要回答您的问题:JSP是servlet。如果将bean存储在会话范围内的“

PersonBean”属性下,则只需从会话中获取它即可:

PersonBean p = (PersonBean) request.getSession().getAttribute("PersonBean");

如果将其存储在属性“ PersonalInformationDataBean”下,则代码当然是

PersonBean p = (PersonBean) request.getSession().getAttribute("PersonalInformationDataBean");

该代码new

PersonBean()创建了一个新的PersonBean实例,因此,当然没有理由使该实例具有与会话中存储的实例相同的ID。这是相当基本的Java知识,我建议您在使用JSF之前学习一些有关Java语言和基本OO概念的知识。

以上是 如何在JSP中获取Bean数据 的全部内容, 来源链接: utcz.com/qa/417676.html

回到顶部