Jquery 如何在SpringMVC会话中保存字符串?

Jquery 如何在SpringMVC会话中保存字符串?,jquery,ajax,spring,model-view-controller,session,Jquery,Ajax,Spring,Model View Controller,Session,我是SpringMVC的新手,我正在尝试找到一种合适的方法来做一些我认为非常简单的事情 我有一个简单的jQuery AJAX调用: var dataString = 'existingProject='+ $("#existingProject").val() + '&newProjName=' + $("#newProjName").val(); $.ajax({ type: "POST", url: "manageP

我是SpringMVC的新手,我正在尝试找到一种合适的方法来做一些我认为非常简单的事情

我有一个简单的jQuery AJAX调用:

    var dataString = 'existingProject='+ $("#existingProject").val() + '&newProjName=' +      $("#newProjName").val();

    $.ajax({  
        type: "POST",  
        url: "manageProjects.html",  
        data: dataString            
    });
我想为用户的会话设置此用户设置“项目”。这个AJAX调用来自JS文件中的javascript,并连接到我的SpringMVC控制器

控制器正在获取这些变量,但我不确定如何处理这些变量以使这些数据以特定于会话的方式传递

我在谷歌上搜索了这个主题,发现了6个不同的选项(使用自动连接注入会话范围的bean、使用xml配置和cgl nodep库的bean、HttpServlet属性、@ModelAttribute、@SessionAttribute等等)。我尝试使用会话范围的bean,并定义了以下内容:

@Component
@Scope("session")
public class UserSettings
…但是bean没有被锁定到会话中。我在我的控制器中使用了@Autowire,发现它在会话之间仍然是同一个实例,所以我显然把它搞砸了

我只想救一根该死的绳子!必须有一个101级的简单方法来做到这一点

@RequestMapping(value = "/request/mapping")
public ModelAndView methodName(HttpSession session,...){

session.setAttribute("testVariable", "Test Values!!");
}


好的,但是当我在AJAX调用中启动时,如何设置该值呢?在会话中为AJAX调用设置属性的“handler”方法是否合适,然后其他所有人都将其提取出来?这是标准做法吗?没有区别,只是将pass请求或会话放入ajax处理方法中。我按照您的第一个建议使用了HttpSession。我接受了AJAX调用,并在会话中设置了属性。然后我在其他需要它的控制器操作中查找该值。该属性似乎正在跨会话持久化。我打开了一个新选项卡,再次访问该站点,第一个选项卡中的设置已经在我的全新选项卡中设置。你到底想做什么。如果你在会话中加入一些变量,那么只有该会话才能访问它,而不是所有人。这是我的意图。我希望此设置对单个用户/选项卡/窗口“保持不变”,只要他们停留在页面上,或者直到他们手动更改页面为止。我看到的是,当我从第一个选项卡设置属性时,我的第二个选项卡可以“刷新”它们的页面,并看到它们的状态更改以反映第一个选项卡所做的操作。
@RequestMapping("/test")
@Controller
public class TestController {
    @RequestMapping(method = RequestMethod.GET)
    public String testMestod(HttpServletRequest request)
    {
        request.getSession().setAttribute("testVariable", "Test Values!!");
        return "testJsp";
    }
}