激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - Java的Struts框架中 標(biāo)簽的使用方法

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

2020-03-03 19:54goldensun JAVA教程

這篇文章主要介紹了Java的Struts框架中標(biāo)簽的使用方法,Struts框架是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下

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

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

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

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

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

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

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

?
1
2
3
<result name="success">
  /HelloWorld.jsp
</result>

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

?
1
2
3
4
5
<result name="success" type="dispatcher">
  <param name="location">
   /HelloWorld.jsp
  </param >
</result>

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

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

?
1
Hello World ${name}

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?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文件。現(xiàn)在右鍵點(diǎn)擊項(xiàng)目名稱,并單擊Export > WAR File創(chuàng)建一個WAR文件。然后部署這個WAR在Tomcat的webapps目錄下。最后,啟動Tomcat服務(wù)器和嘗試訪問URL http://localhost:8080/HelloWorldStruts2/index.jsp。這會給出以下畫面:

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

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

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

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

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

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

?
1
2
3
4
5
6
7
8
9
<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 重定向操作的例子,為了更好的理解。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人毛片视频免费 | 国产免费一区视频 | 亚洲人成网站免费播放 | 奇米影视亚洲春色 | 91久久久国产精品 | h视频在线观看免费 | 亚洲成人中文字幕在线 | 99精品视频在线看 | 91精品国产刺激国语对白 | 久久成人在线观看 | 手机av免费电影 | 狠狠操电影 | 久热久操 | av观看国产| a黄毛片 | 成人 精品| 国产一级一级片 | 中文字幕免费在线观看视频 | 日韩美女电影 | 成人做爽爽爽爽免费国产软件 | 国产成视频在线观看 | 久色免费| 国产美女的小嫩bbb图片 | 俄罗斯理伦片 | 一级成人在线 | 久久久久久久久久性 | 视频一区免费观看 | 狠狠ri| 91成| 久久草在线视频免费 | 精品一区二区三区四区在线 | 亚洲人成电影在线 | 欧美一区二区黄色 | 午夜精品老牛av一区二区三区 | 亚欧在线免费观看 | 久久最新网址 | 欧美性生交zzzzzxxxxx | 国产精品久久久久久久久久久久久久久久 | 九九热视频这里只有精品 | 久久精品久久久久 | 一级啪啪片 |