在jsp中更改bean refrence对象

时间:2018-02-06 13:06:42

标签: java jsp

下面是我的jsp我有创建bean e并尝试将e2分配给相同类型的e。 JSP编译没有任何错误,但当我试图从bean(e)获取属性时,它显示赋值(e = e2)不起作用。

<%@ page import="java.util.Vector" %>
<%@ page import="java.util.Iterator" %>
<%@ page import="FAHsep.beans.Employee2" %>
<%@ page import="FAHsep.beans.Employee" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id="e" class="FAHsep.beans.Employee2"/>
<html>
<body>
    <b>Current Employees</b>
    <ul>
        <%
            Vector v = (Vector) request.getAttribute("list");
            Iterator i = v.iterator();
            Employee2 e2 = (Employee2) i.next();
            e = e2;
                %>
        <li>
            <jsp:getProperty name="e" property="firstName" />
            <jsp:getProperty name="e" property="lastName"/>
        </li>
    </ul>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

在scriptlet中更新bean不会更新使用的页面上下文中的bean。 所以作为一个临时解决方案,我使用下面的行来自我更新页面上下文。如果你有更好的解决方案,请告诉我。

Vector v = (Vector) request.getAttribute("list");
Iterator i = v.iterator();
Employee2 e2 = (Employee2) i.next();
e = e2;
pageContext.setAttribute("e", e);