日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

在Spring MVC中,InternalResourceViewResolver做什么?

發布時間:2023/12/3 javascript 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在Spring MVC中,InternalResourceViewResolver做什么? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

InternalResourceViewResolver是Spring MVC框架中ViewResolver一個實現,它將邏輯視圖名稱(例如“ hello”)解析為內部物理資源(例如Servlet和JSP文件,例如放置在WEB-INF文件夾下的jsp文件)。 它是UrlBasedViewResolver的子類,它使用“前綴”和“后綴”轉換從Spring控制器返回的邏輯視圖名稱,以映射到實際的物理視圖。 例如,如果用戶嘗試訪問/home URL,并且HomeController返回“ home”,則DispatcherServlet將查詢InternalResourceViewResolver ,它將使用前綴和后綴來查找Web應用程序不可或缺的實際物理視圖。 例如,如果前綴是"/WEB-INF/views/" ,后綴是".jsp"則InternalResourceViewResolver會將"home"解析為"/WEB-INF/home.jsp" 。

最好的做法是將JSP文件放在WEB-INF目錄中,以使其無法直接訪問(例如,通過手動輸入的URL)。 屆時只有控制器可以訪問它們

如何在Spring MVC中配置InternalResorveViewResolver

您可以使用Java配置或XML配置來配置此ViewResolver ,如下所示:

在Spring中使用XML配置ViewResolver
這是一些XML片段,用于在Spring中配置視圖解析,如果您正在使用基于XML的確認的Spring項目中工作,可以使用此片段:

<bean id="viewResolver"class="org.springframework.web.servlet.view.InternalResourceViewResolver"prefix="/WEB-INF/" suffix=".jsp" />

使用Java配置配置ViewResolver
從Spring 3.0開始,您還可以使用Java(即不使用XML)配置視圖解析器。 您可以使用以下代碼在spring項目中配置內部資源視圖解析器:

@Beanpublic ViewResolver viewResolver() {InternalResourceViewResolver irv = new InternalResourceViewResolver();irv.setPrefix("/WEB-INF/");irv.setSuffix(".jsp");return irv;}

您可以看到XML和Java都提供了一種在Spring中配置內部資源視圖解析器的簡單方法。

有關Spring MVC中InteralResourceViewResolver的要點

這是有關Spring MVC框架中有用的類的一些重要信息。 這將幫助您更好地了解項目流程:

  • 鏈接ViewResolvers , InternalResourceViewResolver始終需要最后一個,因為它將嘗試解析任何視圖名稱,無論基礎資源是否實際存在。
  • InternalResourceViewResolver還是DispatcherServlet類的默認視圖解析器,它充當Spring MVC框架中的前端控制器。
  • 默認情況下, InternalResourceViewResolver返回InternalResourceView (即Servlet和JSP),但是可以使用viewClass屬性將其配置為返回JstlView ,如下所示: /*** Sets the default setViewClass view class to requiredViewClass: by default* InternalResourceView, or JstlView if the JSTL API is present.*/public InternalResourceViewResolver() {Class viewClass = requiredViewClass();if (viewClass.equals(InternalResourceView.class) && jstlPresent) {viewClass = JstlView.class;}setViewClass(viewClass);}/*** This resolver requires InternalResourceView.*/@Overrideprotected Class requiredViewClass() {return InternalResourceView.class;}

    使用JstlView的優點是JSTL標記將獲取Locale和在Spring中配置的任何消息源。 當您使用JSTL標簽進行格式化以顯示消息時,這一點尤其重要。

    JSTL的格式標記需要Locale才能正確格式化特定于Locale的值,例如貨幣和日期。 它的消息標簽可以使用Spring消息源和Locale來根據Locale正確選擇要以HTML呈現的消息。 有關JstlView類的更多詳細信息,請參見Craig Walls的Spring in Action 。

  • InteralResourceViewResolver是Spring框架提供的幾種內置視圖解析器之一,下面列出了一些最有用的視圖解析器:
    – BeanNameViewResolver –將視圖解析為Spring應用程序上下文中的bean,其ID與視圖名稱相同。 例如,如果您有一個id = "home"的bean,并且一個控制器將邏輯視圖名稱返回為"home"則該bean將由BeanNameViewResolver解析。
    – FreeMarkerViewResolver –解析器視圖作為FreeMarker模板 – JasperReportsViewResolver –將視圖解析為JasperReports定義 – XsltViewResolver –解析要作為XSLT轉換結果呈現的視圖。
  • 您可以查看Bryan Hassen的Spring MVC 4簡介,以了解有關Spring中不同類型的視圖解析器以及如何根據需要使用它們的更多信息。

  • 在Spring MVC中使用ViewResolver的最重要的好處是,它可以將控制器中的請求處理邏輯與視圖的視圖分離 。 簡而言之,控制器對于使用哪種視圖技術渲染視圖一無所知。

    它只是返回一個邏輯名稱,該名稱可以解析為JSP,FreeMarker模板,Apache磁貼或任何其他視圖技術。 這也意味著只要邏輯視圖名稱相同,就可以在不更改控制器的情況下更改視圖層。

  • 這就是關于SpringMVC中InternalResourceViewResolver 的作用或InternalResourceViewResolver的作用 。 它是Spring MVC中有用的類之一,作為Java Spring開發人員,您應該熟悉它。 從Spring訪談以及Spring認證的角度來看,Spring MVC中的視圖分辨率概念也非常重要。 如果您正在準備Spring認證,建議您通過David Mayer的Spring Mock考試來回答一些問題,以測試您對Spring MVC中的視圖分辨率概念的了解。

    進階學習

    • Spring基礎
    • Spring MVC 4簡介

    翻譯自: https://www.javacodegeeks.com/2017/08/internalresourceviewresolver-spring-mvc.html

    總結

    以上是生活随笔為你收集整理的在Spring MVC中,InternalResourceViewResolver做什么?的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。