当前位置: 首页 > 知识库问答 >
问题:

呈现Thymeleaf视图之前未解析Webflux反应对象

端木宏才
2023-03-14

尝试在Thymeleaf中呈现视图时,出现错误,原因是:org.SpringFramework.Expression.Spel.SpelevaluationException:EL1008E:在类型为“Reactor.core.Publisher.Monomapfuseable”的对象上找不到属性或字段“Current Temperature”-可能不是公共的或无效的?

Spring WebFlux文档声明“具有反应类型包装器的模型属性被解析为它们的实际值”,但是将Mono<>作为模型传递给视图会给出上面的错误。

  @RequestMapping(path = "/")
  @GetMapping
  public String home(Model model) {
    Mono<ThermostatState> thermostatState = thermostatClient.fetchThermostatState();
    model.addAttribute("thermostatState", thermostatState);
    return "home";
  }

阻止Mono<>并打开内部值会使模板呈现不变,但有点消除了使用反应库的意义。

  @RequestMapping(path = "/")
  @GetMapping
  public String home(Model model) {
    Mono<ThermostatState> thermostatState = thermostatClient.fetchThermostatState();
    ThermostatState unwrappedState = thermostatState.block();
    model.addAttribute("thermostatState", unwrappedState);
    return "home";
  }

该项目完全依赖于spring starter依赖项,并且没有显式的配置类。

共有1个答案

鲍健柏
2023-03-14

嗨,我也是Spring和反应编程的新手;但我认为,这可以这样处理。

 @RequestMapping(path = "/")
 @GetMapping
 public Mono<String> home(Model model) {
    return thermostatClient.fetchThermostatState()
      .map(thermostatState -> {
         model.addAttribute("thermostatState", thermostatState);
         return "home";
      });
 }
 类似资料:
  • 我使用Queue发送电子邮件,代码如下: 在控制器部分,我使用send- 我正在使用视图: 现在,当我尝试发送时,收到的电子邮件中没有任何内容。 我已经调试了整个供应商\laravel\framework\src\illighted\Mail\Mailer。php类并发现renderView函数中无法呈现视图。 我还将视图Doctype更改为HTML5,但得到了相同的结果,没有内容。 渲染视图正在

  • 我正在用chart.js.建立一个动态图表 在组件DDMount中,我使用setInterval每秒钟调用getNewData()。 这会更新我的数据集中的数据,由于某些原因,图表在状态更新时不会更新/重新呈现。 添加新数据时,如何让图表更新其点? 组件代码:

  • 问题内容: 我网站的主页顶部有多个按钮。只要按下这些按钮之一,就会将获取请求发送到django视图,该视图将被重定向,并过滤django模型的查询集并最终显示在网页上。我知道我的ajax可以正常工作,因为终端说请求已正确重定向。重定向到的功能似乎也很有效,因为它非常简单并且没有引发任何错误。但是,我的看法不变,我不确定为什么。 urls.py views.py 问题答案: 您不能在您的情况下使用D

  • 好的, 我试图使一个简单的mvcSpring启动应用程序,我有它在我的代码返回index.html当控制器接收到"/"的请求。 我不确定,但这不起作用。 SpringDataWebApplication。JAVA HealthCHeckController。JAVA 用户存储库。JAVA 指数html 指数html位于/templates目录中,如thymeleaf所示 pom.xml 用户实体。

  • 渲染后,我得到了当前分配给USESTECT常量的值。我已经在useEffect中初始化了常量值,但仍然无法获得结果。

  • 所有web应用的MVC框架都提供了视图相关的支持。Spring提供了一些视图解析器,它们让你能够在浏览器中渲染模型,并支持你自由选用适合的视图技术而不必与框架绑定到一起。Spring原生支持JSP视图技术、Velocity模板技术和XSLT视图等。你可以阅读文档的第22章 视图技术一章,里面讨论了如何集成并使用许多独立的视图技术。 有两个接口在Spring处理视图相关事宜时至关重要,分别是视图解析