gpt4 book ai didi

java - 使用线程执行完成返回的值填充 Spring 模型属性

转载 作者:行者123 更新时间:2023-12-01 23:39:16 24 4
gpt4 key购买 nike

我使用的是Spring 3.0框架

我对线程及其结果有疑问。我的项目有很多 Controller 及其方法。

我创建了一个线程,它将在 Controller 的方法之一中调用,并且我希望将其结果添加到模型属性中,因为我想在 JSP 中显示结果。

问题是,我认为我在模型属性位中添加线程结果,但在 JSP 中其结果为空。因为 use 目前没有使用该 Controller 。

示例:

    Spring Controller{

//mapping
String controllerMethod1(Model model){

}

//mapping
String controllerMethod2(Model model){
//thread will calling on this controller method
//new myThread
var result=new myThread.start();

model.addattr("res",result);
}

//mapping
String controllerMethod3(Model model){

}

//mapping
String controllerMethod4(Model model){

}

//mapping
String controllerMethod5(Model model){
}

}

这样的 Controller 有很多在每个 Controller 的每个返回JSP页面中,我有${res}来显示线程返回结果

请给我合适的解决方案,谢谢。

我知道 Spring 3.2 中有 DefferedResult 概念,但 Spring 3.0 中没有。请给我替代解决方案,例如 Deferedresult

最佳答案

如果我理解正确,您不希望模型包含 Thread 对象,您希望它包含线程计算的结果。您需要查看 Future 类。但即便如此,我怀疑它对你有多大帮助; JSP 渲染代码在 Controller 方法返回后很快就会需要线程的结果,因此不会有太多时间来计算该值。您需要重新考虑为什么要使用线程。

关于java - 使用线程执行完成返回的值填充 Spring 模型属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18208759/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com