第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

允許 Apache 的 FreeMarker 模板引擎從外部資源文件夾加載模板

允許 Apache 的 FreeMarker 模板引擎從外部資源文件夾加載模板

皈依舞 2023-03-17 13:42:05
我使用 Spring Initilizr 創(chuàng)建了一個(gè) Spring Boot 應(yīng)用程序。然后我包含了Apache's Freemarker模板引擎來(lái)從我的項(xiàng)目中加載模板。引擎默認(rèn)從以下位置加載模板:src/main/resources/templates/文件夾。index.ftl當(dāng)用戶訪問(wèn)網(wǎng)頁(yè)時(shí),我試圖加載一個(gè)簡(jiǎn)單的文件作為模板http://localhost:8080。但我需要從文件夾加載模板src/main/webapp/。每當(dāng)我嘗試從文件夾外部加載模板時(shí)resources,模板引擎都無(wú)法找到模板。我已經(jīng)閱讀了各種教程和 Stack Overflow 問(wèn)題。沒(méi)有人回答我的問(wèn)題,我被困住了,404 ERROR因?yàn)橐鏌o(wú)法找到文件。文件結(jié)構(gòu)為:|-src|---main|-----java|-------MainApplication.java|-------controllers|---------ViewController.java|-----resources|-------static|-------templates|-------application.properties|-----webapp|-------index.ftl經(jīng)過(guò)大量挖掘,我發(fā)現(xiàn)了一篇帖子,他們建議更改模板引擎搜索文件的位置。它建議在 application.properties 中添加以下行:spring.freemarker.enabled=truespring.freemarker.template-loader-path=classpath:src/main/webapp/這似乎根本不起作用。當(dāng)我訪問(wèn)http://localhost:8080 的網(wǎng)頁(yè)時(shí),我試圖解析簡(jiǎn)單的索引頁(yè)面。我編寫(xiě)了以下代碼來(lái)映射 HTTP 請(qǐng)求ViewController.java:@RequestMapping("/")public ModelAndView home(Model model){    return new ModelAndView("index");}不知道我是完全弄錯(cuò)了還是錯(cuò)過(guò)了一些配置。
查看完整描述

2 回答

?
慕后森

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊

來(lái)自 Spring 文檔:

如果您的應(yīng)用程序打包為 jar,請(qǐng)不要使用 src/main/webapp 目錄。雖然這個(gè)目錄是一個(gè)通用標(biāo)準(zhǔn),但它只適用于 war 打包,并且在生成 war 時(shí)它會(huì)被大多數(shù)構(gòu)建工具默默地忽略。

src/main/webapp與web archive關(guān)聯(lián),生成war時(shí)會(huì)被maven war plugin打包。

假設(shè)您需要一個(gè)單獨(dú)的位置來(lái)保存 ftl 模板,并且您仍然希望打包為 jar,您可以按照以下步驟操作。

在構(gòu)建的 pom 文件中添加資源條目,以便資源插件可以將該目錄復(fù)制到類(lèi)路徑。

<build>
    <resources>
      <resource>
         <directory>src/main/webapp</directory>
     </resource>
    <resources>
<build>

更改加載程序路徑以從類(lèi)路徑的根目錄讀取。

spring.freemarker.template-loader-path=classpath:

如果它僅適用于 ftl 模板,我會(huì)將目錄更改為src/main/ftls以避免混淆并在資源中更新相同的目錄。

更新

其實(shí)我想構(gòu)建一個(gè)WAR部署包

你必須使用戰(zhàn)爭(zhēng)插件來(lái)建立戰(zhàn)爭(zhēng)。添加插件并在pom.xml中將包裝更改為war。

有關(guān)傳統(tǒng)部署的更多信息:https://docs.spring.io/spring-boot/docs/current/reference/html/howto-traditional-deployment.html#howto-create-a-deployable-war-file


查看完整回答
反對(duì) 回復(fù) 2023-03-17
?
哆啦的時(shí)光機(jī)

TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個(gè)贊

編輯

在嵌入式 tomcat 中,您可以在應(yīng)用程序?qū)傩?/a>中定義靜態(tài)資源路徑

 spring.mvc.static-path-pattern=

如果部署到 tomcat,在 tomcat 中使用可以在 server.xml 內(nèi)部定義可以保存 freemarker 文件的靜態(tài)上下文,如

 <Context docBase="/home/stuff" path="/static" />

<Context>在元素內(nèi)部添加一個(gè)元素<Host>。Context 有兩個(gè)屬性:docBase 是磁盤(pán)上包含您的靜態(tài)文件的目錄,path 是您要在其上提供文件的 URL。


查看完整回答
反對(duì) 回復(fù) 2023-03-17
  • 2 回答
  • 0 關(guān)注
  • 158 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)