11/08/2018, 18:49

Đối tượng pageContext trong JSP

Học servlet Đối tượng pageContext trong JSP là một đối tượng ẩn của javax.servlet.jsp.PageContext. Đối tượng pageContext được sử dụng để đại diện cho toàn bộ trang JSP. Nó có thể được sử dụng để get, set hoặc remove thuộc tính từ một trong các phạm vi sau: page request ...

Học servlet

Đối tượng pageContext trong JSP là một đối tượng ẩn của javax.servlet.jsp.PageContext. Đối tượng pageContext được sử dụng để đại diện cho toàn bộ trang JSP. Nó có thể được sử dụng để get, set hoặc remove thuộc tính từ một trong các phạm vi sau:

  • page
  • request
  • session
  • application

Trong JSP, page scope là scope mặc định.

Lớp PageContext định nghĩa một số trường, bao gồm định nghĩa bốn phạm vi PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPEAPPLICATION_SCOPE. Nó cũng hỗ trợ hơn 40 phương thức, khoảng một nửa trong số đó được kế thừa từ lớp javax.servlet.jsp.JspContext.

Một trong những phương thức quan trọng là removeAttribute. Phương thức này chấp nhận một hoặc hai đối số. Ví dụ, pageContext.removeAttribute (“attrName”) loại bỏ các thuộc tính từ tất cả các phạm vi, trong khi mã sau chỉ loại bỏ nó từ phạm vi trang:

pageContext.removeAttribute("attrName", PAGE_SCOPE);

Ví dụ về đối tượng ẩn pageContext

Tạo file index.jsp

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Doi tuong pageContext trong JSP</title>
</head>
<body>
<form action="welcome.jsp">
  <input type="text" name="username"> 
  <input type="submit" value="Submit">
</form>
</body>
</html>

Tạo file welcome.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Welcome page</title>
</head>
<body>
  <%
      String name = request.getParameter("username");
      out.print("Welcome " + name);

      pageContext.setAttribute("user", name, PageContext.SESSION_SCOPE);
  %>
  <a href="second.jsp">second jsp page</a>
</body>
</html>

Tạo file second.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Second page</title>
</head>
<body>
  <%
      String name = (String) pageContext.getAttribute("user", 
          PageContext.SESSION_SCOPE);
      out.print("Hello " + name);
  %>
</body>
</html>

Run ứng dụng trên chúng ta có kết quả như sau:

Đối tượng pageContext trong JSP

Click Submit button.

Đối tượng pageContext trong JSP

Click link.

Đối tượng pageContext trong JSP
Học servlet
0