2015-11-04 82 views
0

在我的JSP文件的開始,我有這樣的代碼:屬性與Servlet返回null

<%@page language="java" session="true" %> 
<%session.setAttribute("foo", "bar"); %> 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html class="no-js"> 
<head> 
... 

在這個JSP文件中,一些數據是通過POST發送到一個Servlet。我可以檢索數據,但是,如果我這樣做:

if (session.getAttribute("foo").equals("bar")){ 
     do something 
    } 

我得到了NullPointerException。爲什麼我的servlet上不存在foo

+0

檢查是否會空? – soorapadman

+0

如何在servlet中獲得會話對象? – px5x2

+0

好的,但爲什麼屬性'foo'不存在,如果我在JSP上創建它? – athosbr99

回答

0

以這種方式工作。

JSP

<%session.setAttribute("foo", "bar");%> 
<form action="<%=request.getContextPath()%>/TestServlet" method="POST"> 
<input type="submit" value="Post" /> 
</form> 

的TestServlet

if (request.getSession().getAttribute("foo").equals("bar")){ 
    System.out.println("Success"); 
}