您的位置: 首页 - 站长

php做网站的优势万州医院网站建设

当前位置: 首页 > news >正文

php做网站的优势,万州医院网站建设,网站定位案例,wordpress 权限管理目录

  1. 总述
  2. ThymeleafView视图
  3. 转发视图
  4. 重定向视图
  5. 视图控制器view-controller 1. 总述 在SpringMVC框架中#xff0c;视图#xff08;View#xff09;是一个非常重要的概念#xff0c;它负责将模型数据#xff08;Model#xff09;展示给用户。简单…目录
  6. 总述
  7. ThymeleafView视图
  8. 转发视图
  9. 重定向视图
  10. 视图控制器view-controller 1. 总述 在SpringMVC框架中视图View是一个非常重要的概念它负责将模型数据Model展示给用户。简单来说视图就是用来生成用户界面的技术或模板。 SpringMVC提供了多种视图类型 主要分为两大类转发视图Forward View和重定向视图Redirect View。 转发视图Forward View当控制器Controller处理完用户的请求后可以直接将模型数据传递给视图然后视图根据这些数据生成用户界面。在这个过程中用户的浏览器并不会进行页面刷新数据是在服务器内部传递的。这种方式通常用于展示数据或者表单提交后的错误提示等。 举个例子张三向李四借钱但李四没有钱。于是李四向王五借钱并告诉王五将钱借给张三。这个过程中张三只向李四请求借钱但实际上钱是从王五那里借来的。 转发视图用户请求 - 服务器内部处理 - 服务器直接返回结果给用户浏览器用户不刷新页面。 重定向视图Redirect View与转发视图不同重定向视图会先发送一个重定向的响应给用户的浏览器告诉浏览器去请求另一个URL。这样用户的浏览器会发起一个新的请求服务器接收到新的请求后再将模型数据传递给视图生成用户界面。这种方式通常用于表单提交后的成功页面因为这样可以防止用户刷新页面时重复提交表单。 再举个例子张三向李四借钱但李四没有钱。李四告诉张三去找王五借钱。于是张三自己去找王五借钱这个过程中张三的请求被重定向到了王五那里。 重定向视图用户请求 - 服务器指示浏览器去请求另一个地址 - 浏览器发起新的请求 - 服务器处理并返回结果给浏览器用户浏览器刷新页面。 除了这两种基本的视图类型SpringMVC还支持多种视图技术例如 JSTLJavaServer Pages Standard Tag Library当你的项目中包含了jstl依赖时SpringMVC会自动将转发视图转换为JstlView。JSTL提供了一套丰富的标签库可以方便地在JSP页面中进行条件判断、循环等操作使得页面开发更加高效。ThymeleafThymeleaf是一种现代的服务器端Java模板引擎它可以与SpringMVC无缝集成。当你在SpringMVC的配置文件中添加了Thymeleaf视图解析器后SpringMVC会使用这个解析器来处理Thymeleaf模板。Thymeleaf模板文件通常具有.html扩展名它们可以包含动态数据和逻辑使得页面开发更加灵活和强大。 总的来说SpringMVC的视图是用于展示数据和生成用户界面的组件你可以根据项目需求选择合适的视图技术和类型来实现用户界面的开发。 2. ThymeleafView视图 建议结合视频一起看——44_尚硅谷_SpringMVC_SpringMVC视图ThymeleafView_哔哩哔哩_bilibili 当然可以。ThymeleafView 是 SpringMVC 框架中用于渲染 Thymeleaf 模板的一种视图类型。Thymeleaf 是一个强大的服务器端模板引擎它允许开发者在 HTML 模板中嵌入动态数据和逻辑从而生成最终的 HTML 页面。 在 SpringMVC 应用中当你的控制器方法返回一个视图名称时如果没有指定特定的前缀那么这个名称会被视图解析器处理。视图解析器会根据配置添加前缀和后缀形成一个完整的资源路径然后根据这个路径找到相应的 Thymeleaf 模板文件。 什么叫没有指定特定的前缀就像下面这样 Controller public class MyController {RequestMapping(/greeting)public String sayHello(Model model) {model.addAttribute(message, Hello, Thymeleaf!);return success; // 这里返回的 success 没有特定的前缀} } 在这个例子中success 就是没有特定前缀的视图名称。SpringMVC 会根据配置的视图解析器来解析这个名称。如果配置了 Thymeleaf 视图解析器它会查找名为 success.html 的 Thymeleaf 模板文件或者根据配置的前后缀来确定具体的文件名。 这里是一个简单的例子来说明这个过程 假设你有一个 SpringMVC 控制器其中有一个方法处理用户的请求并返回一个视图名称比如 userProfile。 Controller public class MyController {RequestMapping(/user)public String showUserProfile(Model model) {model.addAttribute(user, new User(张三, 25));return userProfile; // 这里的 userProfile 就是视图名称} } 在你的 SpringMVC 配置文件中你已经配置了 Thymeleaf 视图解析器并设置了视图的前缀和后缀。例如前缀是 templates/后缀是 .html。 Configuration public class WebConfig {Beanpublic SpringResourceTemplateResolver templateResolver() {SpringResourceTemplateResolver resolver new SpringResourceTemplateResolver();resolver.setPrefix(templates/);resolver.setSuffix(.html);resolver.setTemplateMode(TemplateMode.HTML);return resolver;}Beanpublic SpringTemplateEngine templateEngine() {SpringTemplateEngine engine new SpringTemplateEngine();engine.setTemplateResolver(templateResolver());return engine;}Beanpublic ThymeleafViewResolver viewResolver() {ThymeleafViewResolver resolver new ThymeleafViewResolver();resolver.setTemplateEngine(templateEngine());resolver.setOrder(1); // 设置视图解析器的优先级return resolver;} } 根据配置SpringMVC 会将 userProfile 这个视图名称转换为 templates/userProfile.html 这个资源路径。Thymeleaf 模板引擎会找到 templates/userProfile.html 文件并使用控制器方法中添加到模型Model的数据在这个例子中是 user 对象来填充模板中的占位符或表达式。最终Thymeleaf 模板引擎会生成一个完整的 HTML 页面这个页面将包含用户张三的信息并发送给用户的浏览器进行展示。 当控制器方法中所设置的视图名称没有任何前缀时此时的视图名称会被SpringMVC配置文件中所配置的视图解析器解析视图名称拼接视图前缀和视图后缀所得到的最终路径会通过转发的方式实现跳转 3. 转发视图 建议结合视频一起看——45_尚硅谷_SpringMVC_SpringMVC视图InternalResourceView_哔哩哔哩_bilibili 在 SpringMVC 框架中当用户向服务器发送一个请求时服务器需要决定如何响应这个请求。响应的方式之一就是显示一个页面给用户。这里的页面展示就是通过所谓的“视图”来完成的。 转发视图Forward View是 SpringMVC 中的一种视图类型它的作用是将用户的请求从当前的控制器方法转发到另一个页面。这个过程对用户来说是透明的用户不会感觉到页面地址的变化就像直接在当前页面上显示了新的内容一样。 在 SpringMVC 中如果你想使用转发视图你可以在控制器方法中返回一个以 forward: 开头的字符串。这个字符串后面的部分就是目标页面的路径。例如如果你想在控制器方法中告诉服务器转发到 /employee 这个路径的页面你可以这样写 RequestMapping(/testForward) public String testForward() {return forward:/employee; } 这里的 forward: 就是一个标记告诉 SpringMVC 要使用转发视图。SpringMVC 看到这个标记后就会去掉 forward: 这个前缀然后将剩下的 /employee 当作目标页面的路径。然后服务器会找到这个路径对应的页面并且显示给用户。 这种方式的好处是用户的浏览器不会重新发起一个新的请求而是服务器内部直接将请求转发到了另一个页面。这样做可以保持用户的会话状态不变比如用户登录状态等同时也避免了用户重复提交表单的问题。 总结一下转发视图是 SpringMVC 中用于在服务器内部将用户请求从一个控制器方法转发到另一个页面的一种机制通过在控制器方法中返回特定的字符串来实现。这种方式对于保护用户的会话状态和提升用户体验非常有帮助。 4. 重定向视图 建议结合视频一起看——46_尚硅谷_SpringMVC_SpringMVC视图RedirectView_哔哩哔哩_bilibili 在 Web 应用中有时候我们需要在处理完用户的请求后让用户的浏览器去访问另一个页面。这种操作叫做“重定向”。重定向的好处是它会让用户的浏览器认为他们自己点击了一个新的链接从而访问了新的页面。这就像是你在浏览网页时点击了一个链接然后页面跳转到了另一个地址一样。 在 SpringMVC 框架中我们可以通过一种特殊的方式来告诉服务器我们需要进行重定向。这种方式就是在控制器方法中返回一个以 redirect: 开头的字符串。这个字符串后面的部分就是用户浏览器将要跳转到的新页面的路径。 例如如果你有一个控制器方法处理用户的登录请求当用户成功登录后你可能希望他们的浏览器跳转到一个欢迎页面。你可以这样写 RequestMapping(/login) public String login() {// 这里假设用户登录成功// 然后我们希望浏览器跳转到一个欢迎页面return redirect:/welcome; } 在这个例子中redirect: 后面跟着的是 /welcome这意味着用户的浏览器将会跳转到 /welcome 这个路径的页面。这个过程对用户来说是无缝的他们只会看到一个新页面的加载而不会意识到这是一个由服务器控制的重定向操作。 总结一下重定向视图Redirect View是 SpringMVC 中用于在处理完用户请求后让浏览器发起一个新的请求去访问另一个页面的一种机制。通过在控制器方法中返回以 redirect: 开头的字符串来实现。这种方式对于改善用户体验和页面跳转控制非常有用。 5. 视图控制器view-controller 建议结合视频一起看——47_尚硅谷_SpringMVC_SpringMVC的视图控制器_哔哩哔哩_bilibili 视图控制器view-controller是 Spring MVC 中的一个特性它允许你通过配置文件定义请求和视图之间的映射关系而不是使用传统的控制器方法。这种方式简化了代码因为你不需要创建一个完整的控制器类和方法只需要定义请求路径和对应的视图名称即可。 下面是一个简单的例子来说明如何使用 view-controller !– 在Spring MVC的配置文件中定义一个视图控制器 – mvc:view-controller path/testView view-namesuccess / 这里的配置表示当用户访问 /testView 这个路径时Spring MVC 会自动将请求映射到名为 success 的视图上。success 是视图的名称它通常对应一个 JSP、HTML 或其他类型的页面文件。这个过程不需要编写任何 Java 代码只需要在配置文件中声明。 注意 需要注意的是如果你在 Spring MVC 应用中使用了 view-controller 标签那么其他的控制器方法映射将不会生效。这是因为 view-controller 标签定义的映射具有最高的优先级。为了使其他的控制器方法映射生效你需要在 Spring MVC 的核心配置文件中添加 mvc:annotation-driven / 标签这个标签会开启 Spring MVC 的注解驱动功能允许 Spring MVC 处理使用 Controller 注解定义的控制器中的方法。 举个例子如果你有以下的控制器 Controller public class MyController {RequestMapping(/myPage)public String showPage() {return myPageView;} } 同时你也有一个 view-controller 配置 mvc:view-controller path/testView view-namesuccess / 如果你想让 /myPage 请求能够正常映射到 MyController 的 showPage 方法你需要在配置文件中添加 mvc:annotation-driven / 标签否则 /testView 的映射将会覆盖所有的控制器方法映射。 mvc:annotation-driven / 总结一下view-controller 提供了一种快速定义请求到视图映射的方法但它的优先级很高可能会覆盖其他控制器方法的映射。通过使用 mvc:annotation-driven / 标签你可以确保 Spring MVC 正常处理带有 Controller 注解的控制器中的方法。