麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Java > 正文

Struts2開發 基本配置與類型轉換

2019-11-26 16:12:17
字體:
來源:轉載
供稿:網友

一、Action配置中的各項默認值

<package name="csdn" namespace="/test" extends="struts-default">
        <action name="helloworld" class="cn.csdn.action.HelloWorldAction" method="execute" >
 <result name="success">/WEB-INF/page/hello.jsp</result>
        </action>
  </package>
1>如果沒有為action指定class,默認是ActionSupport。
2>如果沒有為action指定method,默認執行action中的execute() 方法。
3>如果沒有指定result的name屬性,默認值為success。


二、Action中result的各種轉發類型

<action name="helloworld" class="cn.csdn.action.HelloWorldAction">
 <result name="success">/WEB-INF/page/hello.jsp</result>
</action>
result配置類似于struts1中的forward,但struts2中提供了多種結果類型,常用的類型有: dispatcher(默認值)、 redirect 、 redirectAction 、 plainText。

下面是redirectAction 結果類型的例子,如果重定向的action中同一個包下:
<result type="redirectAction">helloworld</result>
如果重定向的action在別的命名空間下:
<result type="redirectAction">
 <param name="actionName">helloworld</param>
 <param name="namespace">/test</param>
</result>
plaintext:顯示原始文件內容,例如:當我們需要原樣顯示jsp文件源代碼 的時候,我們可以使用此類型。
<result name="source" type="plainText ">
 <param name="location">/xxx.jsp</param>
 <param name="charSet">UTF-8</param><!-- 指定讀取文件的編碼 -->
</result>
在result中還可以使用${屬性名}表達式訪問action中的屬性,表達式里的屬性名對應action中的屬性。如下:
<result type="redirect">view.jsp?id=${id}</result>
 

三、多個Action共享一個視圖--全局result配置

當多個action中都使用到了相同視圖,這時我們應該把result定義為全局視圖。struts1中提供了全局forward,struts2中也提供了相似功能:
<package ....>
 <global-results>
  <result name="message">/message.jsp</result>
 </global-results>
</package>

四、為Action的屬性注入值

Struts2為Action中的屬性提供了依賴注入功能,在struts2的配置文件中,我們可以很方便地為Action中的屬性注入值。注意:屬性必須提供setter方法。
public class HelloWorldAction{
 private String savePath;

 public String getSavePath() {
  return savePath;
 }
 public void setSavePath(String savePath) {
  this.savePath = savePath;
 }
       ......
}

<package name="csdn" namespace="/test" extends="struts-default">
 <action name="helloworld" class="cn.csdn.action.HelloWorldAction" >
  <param name="savePath">/images</param>
  <result name="success">/WEB-INF/page/hello.jsp</result>
 </action>
</package>
上面通過<param>節點為action的savePath屬性注入“/images”


五、指定需要Struts 2處理的請求后綴

前面我們都是默認使用.action后綴訪問Action。其實默認后綴是可以通過常量”struts.action.extension“進行修改的,例如:我們可以配置Struts 2只處理以.do為后綴的請求路徑:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <constant name="struts.action.extension" value="do"/>
</struts>

如果用戶需要指定多個請求后綴,則多個后綴之間以英文逗號(,)隔開。如:
 <constant name="struts.action.extension" value="do,go"/>


六、細說常量定義

常量可以在struts.xml或struts.properties中配置,建議在struts.xml中配置,兩種配置方式如下:
在struts.xml文件中配置常量
<struts>
    <constant name="struts.action.extension" value="do"/>
</struts>

在struts.properties中配置常量
struts.action.extension=do

因為常量可以在下面多個配置文件中進行定義,所以我們需要了解struts2加載常量的搜索順序:
struts-default.xml
struts-plugin.xml
struts.xml
struts.properties
web.xml
如果在多個文件中配置了同一個常量,則后一個文件中配置的常量值會覆蓋前面文件中配置的常量值.


七、常用的常量介紹

<!-- 指定默認編碼集,作用于HttpServletRequest的setCharacterEncoding方法 和freemarker 、velocity的輸出 -->
    <constant name="struts.i18n.encoding" value="UTF-8"/>
    <!-- 該屬性指定需要Struts 2處理的請求后綴,該屬性的默認值是action,即所有匹配*.action的請求都由Struts2處理。
    如果用戶需要指定多個請求后綴,則多個后綴之間以英文逗號(,)隔開。 -->
    <constant name="struts.action.extension" value="do"/>
    <!-- 設置瀏覽器是否緩存靜態內容,默認值為true(生產環境下使用),開發階段最好關閉 -->
    <constant name="struts.serve.static.browserCache" value="false"/>
    <!-- 當struts的配置文件修改后,系統是否自動重新加載該文件,默認值為false(生產環境下使用),開發階段最好打開 -->
    <constant name="struts.configuration.xml.reload" value="true"/>
    <!-- 開發模式下使用,這樣可以打印出更詳細的錯誤信息 -->
    <constant name="struts.devMode" value="true" />
     <!-- 默認的視圖主題 -->
    <constant name="struts.ui.theme" value="simple" />
    <!

主站蜘蛛池模板: 搜一级毛片 | 一级毛片看 | 欧美性受ⅹ╳╳╳黑人a性爽 | 午夜爽爽爽男女免费观看hd | 精品中文一区 | 久久综合久久综合久久 | 91九色视频在线播放 | 黄色成人小视频 | 99精品国产在热久久婷婷 | 91成人免费版 | 成年人在线免费 | 欧美精品久久久久久久久久 | 黑人一区二区三区四区五区 | 欧美大电影免费观看 | 成人在线视频精品 | 久久国产精品久久久久久久久久 | 中文字幕免费看 | 免费国产自久久久久三四区久久 | 国产精品wwww | 国产艳妇av视国产精选av一区 | 国产精品美女久久久久久不卡 | 国产羞羞视频在线观看 | 全视频tv | av影院在线播放 | 国产在线精品91 | 蜜桃精品视频 | 久久毛片 | 久久久久久久一区二区三区 | 日本精品视频一区二区三区四区 | 少妇一级淫片免费放正片 | 欧美成人激情在线 | 斗罗破苍穹在线观看免费完整观看 | 黄色av免费网站 | 老a影视网站在线观看免费 国产精品久久久久久久久久尿 | 国产精品久久久久久久av | 成年人小视频在线观看 | 中文字幕一区二区三区久久 | 国产免费让你躁在线视频 | 国产精品自拍av | 国产精品成人免费一区久久羞羞 | 草草视频免费 |