Spring 模型视图控制器(MVC)信息

Spring 模型视图控制器(MVC)信息,spring,spring-mvc,jakarta-ee,model-view-controller,Spring,Spring Mvc,Jakarta Ee,Model View Controller,如果我使用MVC模式创建我的Spring项目,那么从视图调用控制器是错误的吗 这个模式正确吗 视图调用控制器 控制器执行操作并将数据结果放入模型中 视图从模型中读取数据 编辑: 在我的索引jsp中,有一个包含多个类别文章的菜单。我想将类别的名称传递给控制器。控制器调用bean的方法,该方法执行查询并将文章列表返回到数据库中。控制器将此列表放入模型中,视图从模型中读取此列表 谢谢这取决于你打电话是什么意思。但是是的,View对控制器一无所知。它发送HttpRequests,然后执行您描述的操作

如果我使用MVC模式创建我的Spring项目,那么从视图调用控制器是错误的吗

这个模式正确吗

  • 视图调用控制器
  • 控制器执行操作并将数据结果放入模型中
  • 视图从模型中读取数据
编辑:


在我的索引jsp中,有一个包含多个类别文章的菜单。我想将类别的名称传递给控制器。控制器调用bean的方法,该方法执行查询并将文章列表返回到数据库中。控制器将此列表放入模型中,视图从模型中读取此列表


谢谢

这取决于你打电话是什么意思。但是是的,View对控制器一无所知。它发送HttpRequests,然后执行您描述的操作的机制开始工作。这是spring文档中著名的模式,基本上是通过图表描述的项目符号。关于您的问题,关键是视图不会调用控制器,而是发送请求


我想你会在下面提到的文章中找到答案:

你(在评论中)所说的话并没有特别错误,但毫无意义

构建视图时,类别是已知的,然后由控制器角色整理所有信息并将其放入模型中,然后使用模型调用视图


或者通过用户交互选择类别。但此时,JSP已经结束了很长一段时间:响应已经提交并传输到浏览器。唯一的可能是准备一个新请求(使用表单或ajax),将此新请求发送到服务器,由控制器在服务器上处理,控制器将数据整理成一个(新)模型,并将其全部传递给同一篇文章发布的视图!LolinMyIndexJSP中有一个包含多个类别文章的菜单。我想将类别的名称传递给控制器。控制器调用bean的方法,该方法执行查询并将文章列表返回到数据库中。控制器将此列表放入模型中,视图从模型中读取此列表。这取决于“视图调用控制器”的定义。按照MVC习惯用法,视图直接引用控制器是“错误的”。HTML视图中的表单之类的东西有一个调用HTTP端点的操作是正常的,该端点被控制器截获。最好解释一下您的实际问题是什么……在我的索引jsp中,有一个包含多个类别文章的菜单。我想将类别的名称传递给控制器。控制器调用bean的方法,该方法执行查询并将文章列表返回到数据库中。控制器将此列表放入模型中,视图从模型中读取此列表。在我的索引jsp中有一个包含多个类别文章的菜单。我想将类别的名称传递给控制器。控制器调用bean的方法,该方法执行查询并将文章列表返回到数据库中。控制器将此列表放入模型中,视图从模型中读取此列表。参考此特定解决方案,它显示了如何使用表单通过RequestMapping将数据发送到控制器。这应该对你有帮助!!我想说的是,如果从JSP调用控制器通常是错误的,那么通过单击菜单的链接来选择类别bar@Alex从这个意义上说,这是一个完全正常的视图->控制器交互。但事实上,您拥有的是视图->浏览器->控制器而不是jsp->控制器为什么说“jsp已经结束很长一段时间了”?我读过的每本Spring书籍都使用jsp。在我的国家,许多公司使用jsp而不是jsf。@亚历克斯:我不是说jsp一般都不受欢迎。JSP+JSTL确实是一个可靠的平台。我的意思是,当用户可以点击它的浏览器时,JSP视图已经结束了他的工作。JSP在服务器上执行,用户稍后在客户端上单击。如果我没有正确理解您的意思,很抱歉。。但是我的英语说写不太好