blob: 3085378bd8bd1460fff30b47c06c6efd1c1da50e [file] [log] [blame]
<%--
Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary
Licenses when the conditions for such availability set forth in the
Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
version 2 with the GNU Classpath Exception, which is available at
https://www.gnu.org/software/classpath/license.html.
SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
--%><%
Object obj;
// Invalidate the session to make sure this does not disturb the
// behavior of the following methods on PageContext:
// private int doGetAttributeScope(String name);
// private Object doFindAttribute(String name){
// private void doRemoveAttribute(String name){
session.invalidate();
try {
// attr1 does not exist. findAttribute() invoked on all scopes and
// must return a null value.
obj = pageContext.findAttribute("attr1");
if (obj != null) {
out.println("ERROR: attr1 is not null on findAttribute()");
}
// attr1 does not exist. getAttributeScope() invoked on all scopes and
// must return 0.
int scope = pageContext.getAttributesScope("attr1");
if (scope != 0) {
out.println("ERROR: scope is not 0 on getAttributesScope()");
}
// set attr2 in application scope.
// Make sure it gets removed properly.
pageContext.setAttribute("attr2", "attr2", PageContext.APPLICATION_SCOPE);
pageContext.removeAttribute("attr2");
obj = pageContext.findAttribute("attr2");
if (obj != null) {
out.println("ERROR: attr2 is not null");
}
// Success!
out.println("SUCCESS");
} catch (IllegalStateException ex) {
out.println("ERROR: invalidated session throws IllegalStateException when trying to find/remove attribute");
}
%>