Struts2 - 常用的constant總結(本文屬轉載)

来源:http://www.cnblogs.com/xiaoshuisir/archive/2016/03/27/5326465.html
-Advertisement-
Play Games

配置struts2常量的三種方法: 1.使用struts.xml中的<constant>元素配置 eg:<constant name="struts.action.extension" value="true"> 2.在struts.properties文件中配置 eg:struts.action. ...


 配置struts2常量的三種方法:

1.使用struts.xml中的<constant>元素配置    eg:<constant name="struts.action.extension" value="true">

2.在struts.properties文件中配置        eg:struts.action.extension = true

3.通過在web.xml中設置過濾器StrutsPrepareAndExecuteFilter的參數配置

eg:

<param-name>struts.action.extension</param-name>
<param-value>true</param-value>

優先順序關係:web.xml>struts.properties>struts.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

    <!-- 把它設置為開發模式,發佈時要設置為false -->
    <constant name="struts.devMode" value="true" />
    <!-- 設置在class被修改時是否熱載入,發佈時要設置為false -->
    <constant name="struts.convention.classes.reload" value="true"/>
    <!-- 自動動態方法的調用,使用這個設置後可以這樣調用:action!method -->
    <constant name="struts.enable.DynamicMethodInvocation" value="true" />
    <!-- 指定jsp文件所在的目錄地址 -->
    <constant name="struts.convention.result.path" value="/WEB-INF/content/" />
    <!-- 使用struts-default預設的轉換器,如果是rest的使用:rest-default,rest需要rest的jar插件 -->
    <constant name="struts.convention.default.parent.package" value="struts-default"/>
    <!-- 用於配置包名尾碼。預設為action、actions、struts-->
    <constant name="struts.convention.package.locators" value="actions" />
    <!-- 用於配置類名尾碼,預設為Action,設置後,Struts2只會去找這種尾碼名的類做映射 -->
    <constant name="struts.convention.action.suffix" value="Action"/>
    <!-- 設置即使沒有@Action註釋,依然創建Action映射。預設值是false。因為Convention-Plugin是約定優於配置的風格,
        可以不通過註解根據預先的定義就能訪問相應Action中的方法 -->
    <constant name="struts.convention.action.mapAllMatches" value="true"/>
    <!-- 自定義jsp文件命名的分隔符 -->
    <constant name="struts.convention.action.name.separator" value="-" />
    <!-- 國際化資源文件名稱 -->
    <constant name="struts.custom.i18n.resources" value="i18n" />
    <!-- 是否自動載入國際化資源文件  -->
    <constant name="struts.i18n.reload" value="true" />
    <!-- 瀏覽器是否緩存靜態內容 -->
    <constant name="struts.serve.static.browserCache" value="false" />
     <!-- 上傳文件大小限制設置 -->
    <constant name="struts.multipart.maxSize" value="-1" />
    <!-- 主題,將值設置為simple,即不使用UI模板。這將不會生成額外的html標簽 -->
    <constant name="struts.ui.theme" value="simple" />
    <!-- 編碼格式 -->
    <constant name="struts.i18n.encoding" value="UTF-8" />

</struts>

 

基礎Constants

  • struts.devMode  可選值true,false (預設false),在開發模式下,struts2的動態重新載入配置和資源文件的功能會預設生效。同時開發模式下也會提供更完善的日誌支持。
  • struts.i18n.reload 可選值true,false(預設值依賴於struts.devMode),是否自動重新載入本地的資源文件。
  • struts.i18n.encoding  主要用於設置請求編碼(預設值(UTF-8)) ,Head和Include標簽的解析編碼。  資源和配置文件的解析編碼。
  • struts.configuration.xml.reload 可選值true,false(預設值依賴於struts.devMode)是否自動重新載入XML配置文件
  • struts.action.extension  設置struts的Action請求的尾碼,支持多個時以逗號隔開。
  • struts.action.excludePattern 設置struts所排除的url(通過正則表達式匹配)(支持多個,以逗號隔開)
  • struts.tag.altSyntax 可選值true,false(預設true) 是否支持ognl表達式
  • struts.url.http.port 設置生成URL所對應的http埠
  • struts.url.https.port 設置生成URL所對應的https埠
  • struts.url.includeParams 可選值 none, get, all (預設get),設置URL是否包含參數,以及是否只包含GET方式的參數。
  • struts.locale 設置struts2預設的locale,決定使用哪個資源文件。
  • struts.ui.templateDir 該屬性指定視圖主題所需要模板文件的位置,該屬性的預設值是template,即預設載入template路徑下的模板文件
  • struts.ui.theme 該屬性指定視圖標簽預設的視圖主題,該屬性的預設值是xhtml。
  • struts.ui.templateSuffix 該屬性指定模板文件的尾碼,該屬性的預設屬性值是ftl。該屬性還允許使用ftl、vm或jsp,分別對應FreeMarker、Velocity和JSP模板
  • struts.multipart.saveDir 設置上傳臨時文件的預設目錄
  • struts.multipart.maxSize 設置上傳的臨時文件的最大限制
  • struts.objectFactory.spring.autoWire 可選值(name, type, auto, constructor,name)(預設name),設置spring的自動裝配方式,只有引入spring插件後才有效。
  • struts.objectFactory.spring.autoWire.alwaysRespect (預設false)設置是否總是以自動裝配策略創建對象。
  • struts.objectFactory.spring.useClassCache (預設false)對象工廠是否使用類緩存,開發模式無效。
  • struts.xslt.nocache (預設為false)設置XsltResult是否不是用緩存。
  • struts.custom.properties 設置用戶的自定義屬性文件名列表(用,隔開)
  • struts.custom.i18n.resources 設置用戶自定義的資源文件路徑列表(用,隔開)
  • struts.serve.static (預設false) 設置是否支持靜態資源請求(要求url在struts或static下)
  • struts.serve.static.browserCache (預設false) 是否在靜態資源響應中設置緩存。只有在支持靜態資源時有效。
  • struts.el.throwExceptionOnFailure (預設false)是否在解析el表達式或無法找到屬性時拋出RuntimeException
  • struts.ognl.logMissingProperties (預設false)是否日誌無發找到的屬性
  • struts.ognl.enableExpressionCache 是否緩存ognl解析的表達式。
  • struts.enable.DynamicMethodInvocation (預設false)是否支持動態的方法調用,在URL上通過!method指定方法。
  • struts.enable.SlashesInActionNames 在URL中的Action段中是否支持斜線
  • struts.mapper.alwaysSelectFullNamespace (預設false) 是否總是用最後一個斜線前的URL段作為namespace

核心對象Constants

  • struts.actionProxyFactory 設置ActionProxy的實體工廠,該工廠同時也生成預設的ActionInvoctation
  • struts.xworkConverter 設置XWorkConverter對象,該對象用於獲取各種類型的轉換器。
  • struts.unknownHandlerManager 設置UnknownHandlerManager的實現類,用於處理無法找到方法等異常。
  • struts.multipart.handler  設置mutipartRequest的handler (預設是jakarta)對應類,org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest
  • struts.mapper.class 可選值(struts,composite,restful,restful2)設置URL解析且映射到ACTION的實現,(預設struts).
  • struts.mapper.prefixMapping 通過URL首碼映射到對應的Mapper,格式為urlPrefix1:mapperName2,urlPrefix2:mapperName2。必須添加mapperClass為org.apache.struts2.dispatcher.mapper.PrefixBasedActionMapper,並指定struts.mapper.class為該mapper。
  • struts.mapper.composite 設置是否支持複合(多個)actionMapper,mapperName用逗號隔開。必須配置struts.mapper.class 為composite 才會生效
  • struts.mapper.idParameterName 用於Restful2ActionMapper作為URL中id所對應的parameterName
  • struts.ognl.allowStaticMethodAccess (預設false)設置ognl表達式是否支持靜態方法。
  • struts.configuration 設置struts2的Settings類。(2.1.2後不再使用)
  • struts.urlRenderer 設置struts2的URL render(用於生成的URL),(預設struts),類名org.apache.struts2.components.ServletUrlRenderer
  • struts.objectFactory 設置struts2的對象工廠,預設(struts),類名org.apache.struts2.impl.StrutsObjectFactory,當引入struts2-spring插件之後,則被修改為org.apache.struts2.spring.StrutsSpringObjectFactory
  • struts.xworkTextProvider 設置struts2的資源文件內容提供類的實現。預設為com.opensymphony.xwork2.TextProviderSupport
  • struts.actionValidatorManager 設置ActionValidatorManager 的實現類。
  • struts.valueStackFactory 設置struts2的ValueStack工廠的實現。
  • struts.reflectionProvider 設置ReflectionProvider的實現類
  • struts.reflectionContextFactory 設置ReflectionContextFactory的實現類
  • struts.patternMatcher 設置PatternMatcher的實現類
  • struts.staticContentLoader 設置StaticContentLoader的實現類

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言 周一入職的新公司,到了公司第一件事自然是要熟悉新公司使用的各種技術,搭建本地的環境。 熟悉新公司技術的過程中,首先就是Maven,這個前面已經寫過文章了,然後就是Dubbo 公司的服務都是通過Dubbo來治理的。其實之前我就對SOA、RPC等分散式服務的概念有所瞭解,Dubbo也多多少少知道一 ...
  • 這一節描述基本語法中的流程語句: 條件語句 IF語句、 選擇語句 Case語句、迴圈語句 while/repeat/for、以及continue、break語句,還有終止程式 運行流程Exit、Halt方法。 廢話不多說,直接貼代碼。 歡迎轉載本系列文章,轉載請註明來源。 ...
  • 轉自:http://blog.csdn.net/wanghuan203/article/details/8836326 (1)href超鏈接標記,屬於客戶端跳轉 (2)使用javascript完成,屬於客戶端跳轉 (3)提交表單完成跳轉,屬於客戶端跳轉 (4)使用response對象,屬於客戶端跳轉 ...
  • 10.進程和線程 進程是執行者的應用程式,而線程是進程內部的一個執行序列.一個進程可以有多個線程.線程又叫輕量級進程. 創建線程的三種方式: I> 繼承Thread類 II> 實現Runnable介面 III> 應用程式可以使用Executor框架來創建線程池 實現Runnable介面這種方式更受歡 ...
  • 不多說,先來段代碼。 一個抽象類裡面可以沒有抽象方法 比如 這是一個抽象類,但是他的方法是具體,這是可以的,沒有報錯。 但是如果 這是會報錯的,因為有抽象方法必須是抽象類。 此時繼承了ABC類,cl2類是一個具體的類。我們區份一個類是抽象還是具體,就是看abstract關鍵字 如果有這個關鍵字,他就 ...
  • 輸出結果: 這代碼寫的很好。。。。。 ...
  • 閱讀須知:理解OAuth2 OAuth是一個關於授權(authorization)的開放網路標準,在全世界得到廣泛應用,目前的版本是2.0版。今天就試著把環境搭建一下在此僅作為學習記錄; 參考資料來源: http://oauth.net/2/ http://bshaffer.github.io/oa ...
  • 原先學習過Yii1的相關知識,雖然也是半懂不懂的,但稍微的結構是瞭解的。現在利用晚上的時間學習下Yii2的使用,打算建一個後臺管理系統,這裡記錄下,以免自己以後忘記。 目前已看一部分Yii2的權威指南,雖然Yiiframework中文網站的權威,跟英文版本比較有些章節缺失內容,但也能大體瞭解具體能做 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...