2013-11-22 3 views
0

Я использую объект сеанса для хранения зарегистрированного идентификатора пользователя в signUpAction.javaStruts 1.3 Управление сеансами

HttpSession session = request.getSession(); 
if(login>0&&candy>0){     
    session.setAttribute("username", val.getUsername()); 
    result = "success";  
} 

тогда я переадресовать пользователя на страницу JSP, соответствующую его/ее идентификатор.

User name is `<bean:write name="signUp" property="username"/>` 

Проблема заключается в том, что, когда пользователь нажимает на кнопку назад, он/она записывает обратно (без нажатия на любую кнопку выхода из системы). Я хочу, чтобы сеанс поддерживался до тех пор, пока пользователь не нажмет кнопку выхода из системы. И как я могу проверить, зарегистрирован ли пользователь на каждой странице? Я использую Struts 1.3, и я новичок в этом. Пожалуйста, помогите мне. Я пытаюсь создать веб-приложение Job Portal в качестве проекта.

ответ

0

Вот как я это сделал. В моем validateAction файл класса

HttpSession session = request.getSession(); 
session.setAttribute("username", val.getUsername()); 

После этого на каждой странице JSP я написал

<c:choose> 
     <c:when test="${not empty sessionScope.username}"> 
      // all the codes goes here 
     </c:when> 
     <c:otherwise> 
      <h1>Please Login First.</h1> 
     </c:otherwise> 
</c:choose> 

И в главной странице я включил

<body onload="window.history.forward(1);"> 

так, даже когда пользователь нажимает на кнопку назад браузер не загрузит последнюю кэшированную страницу.

и когда пользователь нажимает кнопку выхода из системы, я называю мой файл класса invalidateAction

HttpSession session = request.getSession(); 
session.removeAttribute("username"); 
0

Если пользователь зарегистрирован в атрибуте сеанса "username" не должен быть null. Убедитесь, что val.getUsername() возвращает значение не null. Затем сохраните эту переменную final, то есть не позволяйте установить это значение дважды. Затем в JSP вы можете проверить эту переменную с помощью JSTL.

<c:if test="${username != null}"> 
    User name is ${username} 
</c:if> 
0
<s:set name="personName" value="person.name" scope="session" /> 
Смежные вопросы