2015-11-04 2 views
0

В начале моего файла JSP, у меня есть этот код:Атрибуты сеанса из JSP в сервлет возвращение нулевой

<%@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, некоторые данные передаются в Servlet через POST. Я могу получить эти данные, однако, если я это сделать:

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

Я получаю NullPointerException. Почему на моем сервлете нет foo?

+0

проверить ли сеанс нуль? – soorapadman

+0

Как вы получаете свой объект сеанса в сервлет? – px5x2

+0

ok, но почему атрибут '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"); 
} 
Смежные вопросы