国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Struts2入門教程-Hello World
當(dāng)你向一個框架提交HTML表單的時候,輸入的數(shù)據(jù)并不是被發(fā)送到一個服務(wù)端頁面,而是傳送到一個你自己提供的稱為Action的java類,產(chǎn)生的結(jié)果會選擇一個資源來繪制響應(yīng)。該資源通常為一個服務(wù)端的頁面,但也可以是一個pdf的文檔,也可以是一個Excel電子數(shù)據(jù)表格,或者是Java applet窗口。
    假設(shè)你希望創(chuàng)建一個簡單的“Hello World”例子來顯示歡迎消息。下載struts2的空web應(yīng)用(即struts2-blank-2.0.6.war),你需要做以下三件事:
1.創(chuàng)建一個服務(wù)頁面來展示消息
2.創(chuàng)建一個Action類來創(chuàng)建消息
3.創(chuàng)建一個連接Action類和頁面的映射
    讓我們來看看這個Action,服務(wù)頁面和映射的例子。如果你喜歡也可以使用IDE來編輯代碼。
代碼如下:
首先,定義一個服務(wù)頁面顯示數(shù)據(jù)
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
        <head>
                 <title>Hello World!</title>
        </head>
        <body>
                 <h2><s:property value="message" /></h2>
        </body>
</html>
其次,我們需要一個Action類來創(chuàng)建消息
package tutorial;
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorld extends ActionSupport {
     
       public static final String MESSAGE = "Struts is up and running...";
      
       private String message;
       public String execute() throws Exception {
                setMessage(MESSAGE);
                return SUCCESS;
       }
        public void setMessage(String message) {
                this.message = message;
        }
        public String getMessage() {
                return message;
        }
}
最后我們需要一個映射來綁定所有。
編輯struts.xml文件來添加HelloWorld映射
<!DOCTYPE struts PUBLIC
           "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
           "<struts>
          <package name="tutorial" extends="struts-default">
                    <action name="HelloWorld" class="tutorial.HelloWorld">
                              <result>/HelloWorld.jsp</result>
                    </action>
          </package>
</struts>
然后部署該應(yīng)用程序,打開
http://localhost:8080/tutorial/HelloWorld.action觀察出現(xiàn)了什么,你會看見一個標(biāo)題為Hello World!的頁面并有一個“Struts is up and running”的消息。
代碼是如何工作的:
1.容器接收到HelloWorld.action的請求。根據(jù)web.xml的設(shè)置,容器會尋找所有被發(fā)送到org.apache.struts2.dispatcher.FilterDispatcher的請求,包括所有的*.action的請求。FilterDispatcher是框架的入口點(diǎn)。
2.框架尋找一個映射名為HelloWorld的Action類。它找到與HelloWorld類相關(guān)的映射,并調(diào)用Action的execute方法。
3.execute方法設(shè)置了消息并返回SUCCESS。如果返回的是SUCCESS,框架會檢查Action類映射的哪個頁面將被裝載??蚣軙嬖V容器繪制HelloWorld.jsp作為請求的響應(yīng)。
4.當(dāng)HelloWorld.jsp被調(diào)用,<s:property value="message" />標(biāo)簽調(diào)用HelloWorld的Action類的getter方法getMessage,并將message的值合并到響應(yīng)中去。
5.一個純粹的響應(yīng)被發(fā)送回瀏覽器。
測試Actions類,代碼如下
package tutorizl
import junit.framework.TestCase;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorldTest extends TestCase {
         public void testHelloWorld() throws Exception {
            
               HelloWorld hello_world = new HelloWorld();
               String results = hello_world.execute();
               assertTrue("Expected a success results!", ActionSupport.SUCCESS.equals(results));
 
               assertTrue("Expected the default message!",HelloWorld.MESSAGE.equals(hello_world.getMessage()));
        }
}
需要記住的是:框架使用Action類來處理HTML表單和其他請求,Action類返回一個諸如SUCCESS,ERROR,或INPUT名稱。根據(jù)來自struts.xml的映射,一個返回的名稱會選擇相應(yīng)的頁面,另外的Action,或其他web資源(圖象,PDF)。
當(dāng)一個服務(wù)端頁面被繪制,大多情況下會包括由Action類提供的動態(tài)數(shù)據(jù)??蚣軙峁┮幌盗械腍TML標(biāo)簽創(chuàng)建頁面來使得顯示動態(tài)數(shù)據(jù)更加簡單。
 
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Struts 2.0的Action講解
struts2學(xué)習(xí)筆記(2)struts2中的類型轉(zhuǎn)換_0-1World
java.lang.NoSuchMethodException: $Proxy
struts2------Convention Plugin
struts配置文件中action元素屬性設(shè)置
Struts2多文件下載
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服