2016-09-19 4 views
0


Я читал весну в действии 4, но я смутился, что в примере не было показано, как получить сеанс от запроса.
Я хочу получить полный входной поток, я хочу получить сеанс из jsp, чтобы проверить, существует ли пользователь.
Пример просто показал requestParameters этого класса? (Я даже не знаю, что это такое)
И используя пункт '.' для получения параметра из метода Get. Но как я могу получить сеанс?
Если метод Post?Как я могу получить сеанс из веб-потока весны xml?

<action-state id="lookupCustomer"> 
    <evaluate result="order.customer" 
     result-type="com.springinaction.pizza.domain.Customer" 
     expression="pizzaFlowActions.lookupCustomer(requestParameters.phoneNumber)" /> 
    <transition to="registrationForm" 
     on-exception="com.springinaction.pizza.service.CustomerNotFoundException" /> 
    <transition to="showOrder" /> 
</action-state> 
+0

Одним словом, я просто хочу получить сеанс из потока, люди, которые вошли в систему, информация пользователя будет сохранена в сеансе, я просто хочу ее получить, чтобы я мог продолжить следующий поток. –

ответ

1

Я думаю, вы говорите о Spring MVC и Spring используется для инъекции зависимостей классов, которые вам нужны в вашем приложении.

i) Чтобы сохранить объект пользователя в сеансе, у него есть объект HttpSession в параметре для класса контроллера, который должен обладать сеансом и хранить значение сеанса в объекте пользователя.

Например:

 @Scope("session") 
    @Controller 
    public class UserController { 
    @RequestMapping(method = RequestMethod.GET) 
    public String testMestod(HttpServletRequest request){ 
    User user=(User)session.getAttribute("cart"); 
    return "testJsp"; 
    } 
    } 

II) также сделать класс объекта пользователя в качестве объекта сеанса в объем

Например:

 @Scope("session") 
    public class User 
     { 
     String user; 
     /* setter getter*/ 
     } 

III) Вы можете иметь XML-файл для дальнейшего как АОП и т. д.

Например:

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:aop="http://www.springframework.org/schema/aop" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-3.1.xsd 
    http://www.springframework.org/schema/aop 
     http://www.springframework.org/schema/aop/spring-aop-3.1.xsd"> 

    <bean id="user" class="com.User" scope="session">  
     <aop:scoped-proxy/> 
    </bean> 
    </beans> 
+0

действительно спасибо за ваш комментарий, теперь я все еще получаю сеанс от HttpServletRequet, но на самом деле я говорю о Spring Web Flow этой структуре, я действительно расстраиваюсь, что не знаю, как получить сеанс в файлах конфигурации. Мне нужно имя пользователя. –

+0

Эта ссылка может вам помочь: http://stackoverflow.com/questions/8913062/spring-webflow-how-to-pass-the-session-in-evaluate-expression –

+0

god! Большое спасибо! –

Смежные вопросы