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

Java的Struts框架中<results>標簽的使用方法

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

<results>標簽在Struts2的MVC框架的視圖中所扮演的角色。動作是負責執(zhí)行業(yè)務邏輯。執(zhí)行業(yè)務邏輯后,接下來的步驟是使用<results>標簽顯示的視圖。

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

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

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

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

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

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

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

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

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

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

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

Hello World ${name}

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

<?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)在右鍵點擊項目名稱,并單擊Export > WAR File創(chuàng)建一個WAR文件。然后部署這個WAR在Tomcat的webapps目錄下。最后,啟動Tomcat服務器和嘗試訪問URL http://localhost:8080/HelloWorldStruts2/index.jsp。這會給出以下畫面:

20151126154648843.jpg (560×288)

輸入一個值“Struts2”,并提交頁面。應該看到翻頁

20151126154710714.jpg (560×254)

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

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

我們可以提供無論是在體內(nèi)的<result...>元素或作為一個<param name="location">的元素的位置。還支持重定向解析參數(shù)。下面是一個例子使用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)建一個新的文件,在那里會被重定向 Hello時動作將返回成功到NewWorld.jpg。也可以checkStruts2 重定向操作的例子,為了更好的理解。

相關文章

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

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

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

    java版飛機大戰(zhàn)實戰(zhàn)項目詳細步驟

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

    Socket編程簡單示例(聊天服務器)

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

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

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

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

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

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

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

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

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

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

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

    springboot讀取bootstrap配置及knife4j版本兼容性問題及解決

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

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

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

最新評論

航空| 谷城县| 读书| 崇明县| 西昌市| 长白| 涡阳县| 湘乡市| 衡阳市| 中方县| 寿阳县| 保定市| 隆德县| 色达县| 金堂县| 天全县| 深州市| 玉门市| 定安县| 定边县| 聊城市| 海口市| 迭部县| 美姑县| 宁明县| 都江堰市| 涿鹿县| 罗平县| 土默特右旗| 丽水市| 唐山市| 慈利县| 平山县| 利辛县| 泸溪县| 江油市| 手游| 栾川县| 山阳县| 赞皇县| 邯郸市|