最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java的Struts框架中<results>標(biāo)簽的使用方法

 更新時(shí)間:2015年11月26日 15:48:27   投稿:goldensun  
這篇文章主要介紹了Java的Struts框架中<results>標(biāo)簽的使用方法,Struts框架是Java的SSH三大web開(kāi)發(fā)框架之一,需要的朋友可以參考下

<results>標(biāo)簽在Struts2的MVC框架的視圖中所扮演的角色。動(dòng)作是負(fù)責(zé)執(zhí)行業(yè)務(wù)邏輯。執(zhí)行業(yè)務(wù)邏輯后,接下來(lái)的步驟是使用<results>標(biāo)簽顯示的視圖。

經(jīng)常有一些附帶導(dǎo)航規(guī)則的結(jié)果。例如,如果在操作方法是對(duì)用戶進(jìn)行驗(yàn)證,有三種可能的結(jié)果。 (一)成功登錄;(二)不成功的登錄,用戶名或密碼錯(cuò)誤;(三)帳戶鎖定。

在這種情況下的動(dòng)作方法將被配置呈現(xiàn)的結(jié)果有三種可能的結(jié)果字符串和三個(gè)不同的看法。我們已經(jīng)看到在前面的例子。

但是,Struts2 不配合使用JSP作為視圖技術(shù)。畢竟MVC范例的整個(gè)目的是保持獨(dú)立的層,高度可配置的。例如,對(duì)于一個(gè)Web2.0的客戶端,可能希望返回XML或JSON作為輸出。在這種情況下,可以創(chuàng)建一個(gè)新的結(jié)果類型為XML或JSON和實(shí)現(xiàn)這一目標(biāo)。

Struts的一些預(yù)定義的結(jié)果類型,無(wú)論我們已經(jīng)看到了,這是默認(rèn)的結(jié)果類型,它是用來(lái)調(diào)度調(diào)度到JSP頁(yè)面。 Struts 允許使用其它標(biāo)記語(yǔ)言的技術(shù)呈現(xiàn)的結(jié)果和流行的選擇,包括 Velocity, Freemaker, XSLT 和Tiles.

分發(fā)結(jié)果類型:
調(diào)度程序的結(jié)果類型是缺省類型,并使用,如果沒(méi)有其他的結(jié)果類型被指定。它被用來(lái)轉(zhuǎn)發(fā)到一個(gè)servlet,JSP,HTML頁(yè)面,等等,在服務(wù)器上。它使用RequestDispatcher.forward()方法。

在我們前面的例子中,我們看到了“shorthand”的版本,在那里我們提供了身體的結(jié)果標(biāo)簽 JSP路徑。

<result name="success">
  /HelloWorld.jsp
</result>

我們也可以指定JSP文件中使用一個(gè)<param name="location">的標(biāo)簽內(nèi)<result...>的元素如下:

<result name="success" type="dispatcher">
  <param name="location">
   /HelloWorld.jsp
  </param >
</result>

我們還可以提供一個(gè)分析參數(shù),默認(rèn)為true。解析參數(shù)位置參數(shù)決定是否將被解析為OGNL表達(dá)式。

FreeMaker結(jié)果類型:
在這個(gè)例子中,我們將看到我們?nèi)绾问褂肍reeMaker作為視圖技術(shù)。 freemaker是一種流行的模板引擎,用于使用預(yù)定義的模板來(lái)生成輸出。讓我們Freemaker模板創(chuàng)建一個(gè)文件稱為hello.fm以下內(nèi)容:

Hello World ${name}

在這里,上述文件是一個(gè)模板的名字是從外面使用已定義的動(dòng)作,將傳遞一個(gè)參數(shù)置。會(huì)保持這個(gè)文件在CLASSPATH中。接下來(lái),讓我們修改struts.xml中指定結(jié)果如下:

<?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.devMode" value="true" />
  <package name="helloworld" extends="struts-default">

   <action name="hello" 
     class="com.yiibai.struts2.HelloWorldAction"
     method="execute">
     <result name="success" type="freemarker">
      <param name="location">/hello.fm</param>
     </result>
   </action>
   
  </package>

</struts>

讓我們使用前面的 HelloWorldAction.java,HelloWorldAction.jsp和index.jsp文件?,F(xiàn)在右鍵點(diǎn)擊項(xiàng)目名稱,并單擊Export > WAR File創(chuàng)建一個(gè)WAR文件。然后部署這個(gè)WAR在Tomcat的webapps目錄下。最后,啟動(dòng)Tomcat服務(wù)器和嘗試訪問(wèn)URL http://localhost:8080/HelloWorldStruts2/index.jsp。這會(huì)給出以下畫(huà)面:

20151126154648843.jpg (560×288)

輸入一個(gè)值“Struts2”,并提交頁(yè)面。應(yīng)該看到翻頁(yè)

20151126154710714.jpg (560×254)

正如看到,這是完全一樣的JSP視圖,但我們是不依賴于使用JSP作為視圖技術(shù)。在這個(gè)例子中,我們已經(jīng)使用Freemaker。

重定向結(jié)果類型:
重定向的結(jié)果類型,調(diào)用的是標(biāo)準(zhǔn)response.sendRedirect() 方法,使瀏覽器建立一個(gè)新的請(qǐng)求發(fā)送到給定的位置。

我們可以提供無(wú)論是在體內(nèi)的<result...>元素或作為一個(gè)<param name="location">的元素的位置。還支持重定向解析參數(shù)。下面是一個(gè)例子使用XML配置:

<action name="hello" 
  class="com.yiibai.struts2.HelloWorldAction"
  method="execute">
  <result name="success" type="redirect">
    <param name="location">
     /NewWorld.jsp
   </param >
  </result>
</action>

因此,只要修改struts.xml文件,定義如上所述重定向類型,并創(chuàng)建一個(gè)新的文件,在那里會(huì)被重定向 Hello時(shí)動(dòng)作將返回成功到NewWorld.jpg。也可以checkStruts2 重定向操作的例子,為了更好的理解。

相關(guān)文章

  • Java截取字符串的幾種方法示例

    Java截取字符串的幾種方法示例

    眾所周知java提供了很多字符串截取的方式,下面這篇文章主要給大家總結(jié)介紹了關(guān)于Java截取字符串的幾種方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • java版飛機(jī)大戰(zhàn)實(shí)戰(zhàn)項(xiàng)目詳細(xì)步驟

    java版飛機(jī)大戰(zhàn)實(shí)戰(zhàn)項(xiàng)目詳細(xì)步驟

    這篇文章主要為大家詳細(xì)介紹了java版飛機(jī)大戰(zhàn)實(shí)戰(zhàn)項(xiàng)目詳細(xì)步驟,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • Socket編程簡(jiǎn)單示例(聊天服務(wù)器)

    Socket編程簡(jiǎn)單示例(聊天服務(wù)器)

    socket編程是在不同的進(jìn)程間進(jìn)行網(wǎng)絡(luò)通訊的一種協(xié)議,下面這篇文章主要給大家介紹了關(guān)于Socket編程簡(jiǎn)單示例的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • IDEA 顯示Run Dashboard窗口的2種方式(推薦)

    IDEA 顯示Run Dashboard窗口的2種方式(推薦)

    這篇文章主要介紹了IDEA 顯示Run Dashboard窗口的2種方式,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • SpringBoot優(yōu)雅捕捉異常的兩種方法小結(jié)

    SpringBoot優(yōu)雅捕捉異常的兩種方法小結(jié)

    SpringBoot框架對(duì)異常的處理提供了幾種很強(qiáng)大的方法,我們可以通過(guò)@ControllerAdvice和@ExceptionHandler注解實(shí)現(xiàn)全局異常的處理,下面就來(lái)介紹一下這兩種方法的實(shí)現(xiàn),感興趣的可以了解一下
    2024-08-08
  • Java流程控制語(yǔ)句最全匯總(中篇)

    Java流程控制語(yǔ)句最全匯總(中篇)

    這篇文章主要介紹了Java流程控制語(yǔ)句最全匯總(中篇),本文章內(nèi)容詳細(xì),通過(guò)案例可以更好的理解數(shù)組的相關(guān)知識(shí),本模塊分為了三部分,本次為中篇,需要的朋友可以參考下
    2023-01-01
  • Spring?Boot集成JavaMailSender發(fā)送郵件功能的實(shí)現(xiàn)

    Spring?Boot集成JavaMailSender發(fā)送郵件功能的實(shí)現(xiàn)

    spring提供了發(fā)送郵件的接口JavaMailSender,通過(guò)JavaMailSender可以實(shí)現(xiàn)后端發(fā)送郵件,下面這篇文章主要給大家介紹了關(guān)于Spring?Boot集成JavaMailSender發(fā)送郵件功能的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • java實(shí)現(xiàn)文件上傳、下載、圖片預(yù)覽

    java實(shí)現(xiàn)文件上傳、下載、圖片預(yù)覽

    這篇文章主要介紹了java實(shí)現(xiàn)文件上傳、下載、圖片預(yù)覽,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • springboot讀取bootstrap配置及knife4j版本兼容性問(wèn)題及解決

    springboot讀取bootstrap配置及knife4j版本兼容性問(wèn)題及解決

    這篇文章主要介紹了springboot讀取bootstrap配置及knife4j版本兼容性問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Java中利用BitMap位圖實(shí)現(xiàn)海量級(jí)數(shù)據(jù)去重

    Java中利用BitMap位圖實(shí)現(xiàn)海量級(jí)數(shù)據(jù)去重

    有許多方法可以用來(lái)去重,比如使用列表、集合等等,但這些方法通常只適用于一般情況,然而,當(dāng)涉及到大量數(shù)據(jù)去重時(shí),常見(jiàn)的 Java Set、List,甚至是 Java 8 的新特性 Stream 流等方式就顯得不太合適了,本文給大家介紹了Java中利用BitMap位圖實(shí)現(xiàn)海量級(jí)數(shù)據(jù)去重
    2024-04-04

最新評(píng)論

山阳县| 乌兰察布市| 邵阳县| 措勤县| 开封县| 旬邑县| 荥阳市| 望都县| 梅州市| 敦煌市| 呼玛县| 宽甸| 扎鲁特旗| 潼南县| 寻甸| 南和县| 高州市| 普格县| 班玛县| 高安市| 莆田市| 太仓市| 延寿县| 克什克腾旗| 元氏县| 玛曲县| 长丰县| 临猗县| 额敏县| 邛崃市| 秭归县| 扶余县| 大埔区| 灵山县| 额济纳旗| 锡林郭勒盟| 灯塔市| 文化| 东莞市| 肥东县| 永宁县|