在Grails中,服务可以直接将数据发送到视图吗?或者必须通过控制器?如果可以,我请求指向教程或示例,如果有人知道一个。感谢。
答案 0 :(得分:2)
服务无法真正将数据发送到视图。请求通常由控制器处理,控制器可以执行诸如返回模型或呈现视图以及指定模型之类的操作。可以从服务检索模型数据,但控制器仍负责将数据传递给视图。如果您对请求周期有所了解,那么很明显为什么服务无法将数据发送到视图。
我希望有所帮助。
答案 1 :(得分:1)
我不确定你要做什么,但简短的回答是" 不,服务无法直接向视图发送数据。"至少,通常。
要理解为什么我说" 通常"您需要了解如何处理典型的HTTP请求周期。让我们从那里开始吧。
Client
(浏览器)向Controller
发出请求。 controller
可以与services
和domain classes
进行互动,以构建model
(数据),然后将其提供给view
并呈现为response
}来自浏览器的请求。
Browser
- > Controller
- > Services & Domains
- > Controller Model
- > View
- > Response
这是典型的路线。
然而,使用类似长轮询技术或websockets的东西确实会稍微改变一下。这些功能使您能够将消息放到流式传输到客户端的总线上,这些消息可以由服务生成。它本身就是一个相当大而复杂的话题。
现在,在您掌握或完全理解典型的HTTP对话之前,潜入更复杂的对话是不可能的。开始简单,掌握,然后进入复杂。