亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

struts中動態(tài)方法調(diào)用使用通配符

 更新時間:2016年09月07日 15:45:03   作者:布拉格1973  
這篇文章主要介紹了struts中動態(tài)方法調(diào)用使用通配符的相關資料,非常不錯,具有參考借鑒價值,感興趣的朋友一起看看吧

一、DMI動態(tài)方法調(diào)用的其中一種改變form表單中action屬性的方式已經(jīng)講過了。還有兩種,一種是改變struts.xml配置文件中action標簽中的method屬性,來指定執(zhí)行不同的方法處理不同的業(yè)務邏輯;另外一種是使用通配符的方式。改變method屬性的方式需要配置多個action,而且這些action定義的絕大部分都是相同的,所以這種定義是相當冗余的。因此,使用通配符就可以在一個action標簽中代替多個邏輯處理的Action。

二、示范:(和之前的動態(tài)方法調(diào)用改變form表單action屬性差不多,在struts.xml配置文件上進行了小小的修改。)

    要求還是沒有變,點擊不同的提交按鈕提交同一個表單,把不同的業(yè)務交給相同的Action處理類去處理。

   ?、笔紫蕊@示一個表單,表單中有兩個提交按鈕,但分別代表不同的業(yè)務。當點擊登錄時用戶登錄;當點擊注冊時用戶注冊。

    ⒉用戶登錄:

   ?、秤脩糇裕骸 ?br />

  具體的代碼如下:

    ⑴、登錄注冊頁面(index.jsp):

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="js/jquery-1.7.2.js"></script>
<title>index</title>
<script type="text/javascript">
$(function(){
$("input:eq(3)").click(function(){
/*動態(tài)修改表單中的action屬性值,實現(xiàn)把注冊的請求提交給Action類 */ 
$("#form").attr("action","Create");
});
});
</script>
</head>
<body>
<form action="Login" method="post" id="form">
姓名:<input type="text" name="name" /><br><br>
密碼:<input type="password" name="password" /><br><br>
<input type="submit" value="登錄">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="submit" value="注冊">
</form>
</body>
</html>

    ⑵、struts.xml配置文件的代碼    

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="myP" extends="struts-default">
<action name="*" class="action.Action" method="{1}">
<result name="userLogin">WEB-INF/jsp/userLogin.jsp</result>
<result name="userCreate">WEB-INF/jsp/userCreate.jsp</result>
</action>
</package>
</struts>

      解析:

        1、在這份配置文件中,對action標簽中的name屬性配置了一個通配符: "*",后面的method屬性值則為: {1}。

        2、意思就是當用戶在index.jsp頁面點擊了登錄按鈕,那么就會把表單:中的action="Login"請求傳給struts,因為在struts.xml中進行了通配符的配置,所以就把 "*"當成是"Login",也就是name="Login"。而后面的method值為:{1}代表的是第一個"*",也就是metho="Login"。所以struts會去action.Action類中尋找到Login方法并且調(diào)用。如果用戶點擊了注冊按鈕,那么也和點擊登錄按鈕是一樣流程了。具體可以自己寫一個小例子感受一下。

       ⑶、Action類的代碼:

package action;
import com.opensymphony.xwork2.ActionSupport;
public class Action extends ActionSupport {
private String name;public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}public String Login(){
System.out.println("用戶登錄");
return "userLogin";
}
public String Create(){
System.out.println("用戶注冊");
return "userCreate";
}
}

  當然,通配符的使用不僅僅是只有這么簡單的一個,還可能是有: "*-*"、"Book_*" 等,這些通配符可以在struts.xml配置文件中action標簽的屬性中使用,如mthod、class屬性,也可以在result標簽中使用,如下:

<!--定義一個通用的action標簽-->
<action name="*">
<!--使用表達式定義Result標簽-->
<result>/WEB-INF/jsp/{1}.jsp</result>
</action> 

    在上面的action定義中,action的name是一個*,那么就是可以匹配任意的Action,所有的請求都通過這個action來處理,因為這個action沒有class屬性,所以使用ActionSupport類來處理,因為沒有method屬性,所以默認是execute方法并且返回success字符串,而且在result標簽中name屬性默認是success,所以Action總是直接返回result中指定的jsp資源,因此上面的action定義的含義是:如果用戶請求a.action那么就跳轉到a.jsp;如果請求b.action就跳轉到b.jsp。

以上所述是小編給大家介紹的struts中動態(tài)方法調(diào)用使用通配符,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關文章

  • Java中使用同步回調(diào)和異步回調(diào)的示例詳解

    Java中使用同步回調(diào)和異步回調(diào)的示例詳解

    這篇文章主要介紹了Java中使用同步回調(diào)和異步回調(diào)的相關資料,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • 將內(nèi)容寫到txt文檔里面并讀取及刪除的方法

    將內(nèi)容寫到txt文檔里面并讀取及刪除的方法

    本文有個不錯的示例,主要講解如何將內(nèi)容寫到txt文檔里面、讀取文件里面的內(nèi)容以及清除txt文件里面的內(nèi)容
    2014-01-01
  • 聊聊java中引用數(shù)據(jù)類型有哪些

    聊聊java中引用數(shù)據(jù)類型有哪些

    這篇文章主要介紹了java中引用數(shù)據(jù)類型有哪些,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java設計模式--代理模式

    Java設計模式--代理模式

    代理就是一個人或者一個機構代表另一個人或者另一個機構采取行動。在一些情況下,一個客戶不想或者不能夠直接引用一個對象,而代理對象可以在客戶端和目標對象之前起到中介的作用
    2021-07-07
  • Java實現(xiàn)斗地主的發(fā)牌功能

    Java實現(xiàn)斗地主的發(fā)牌功能

    這篇文章主要為大家詳細介紹了Java實現(xiàn)斗地主的發(fā)牌功能,含按順序發(fā)牌和玩家牌排序顯示等功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Java算法真題詳解運用單調(diào)棧

    Java算法真題詳解運用單調(diào)棧

    一般使用單調(diào)棧無非兩個方向,單調(diào)遞減,單調(diào)遞增。單調(diào)遞增棧:存進去的數(shù)據(jù)都是增加的,碰到減少的時候,這時就要進行操作了。單調(diào)遞減棧:存進去的數(shù)據(jù)都是減少的,碰到增加的時候,這時就要進行操作了,下面我們在真題中運用它
    2022-07-07
  • SpringBoot同時啟動不同端口圖示解析

    SpringBoot同時啟動不同端口圖示解析

    這篇文章主要介紹了SpringBoot同時啟動不同端口圖示解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • java實現(xiàn)簡單圖書管理系統(tǒng)

    java實現(xiàn)簡單圖書管理系統(tǒng)

    這篇文章主要為大家詳細介紹了java實現(xiàn)簡單圖書管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • SpringBoot 中大文件(分片上傳)斷點續(xù)傳與極速秒傳功能的實現(xiàn)

    SpringBoot 中大文件(分片上傳)斷點續(xù)傳與極速秒傳功能的實現(xiàn)

    這篇文章主要介紹了SpringBoot 中大文件(分片上傳)斷點續(xù)傳與極速秒傳功能的實現(xiàn),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • 為什么Java中只有值傳遞

    為什么Java中只有值傳遞

    這篇文章主要介紹了為什么Java中只有值傳遞,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2021-01-01

最新評論