Action呼叫字首詳解
org.apache.struts2.dispatcher.mapper.DefaultActionMapper類在建立ActionMapping時,為協助請求傳送提供了四種不同的字首,這些字首使得使用者在傳送請求的時候更加機動和靈活,包括:
Method字首 Action字首 Redirect字首 Redirect-action字首
這些字首必須和struts2自帶的自定義標籤一起使用,struts2自定義標籤的描述檔案(tld)在struts2-core-版本號.jar包的META-INF目錄下,複製到工程的WEB-INF目錄中 然後在jsp頁面中新增下面程式碼移用:
<%@ taglib uri=”/WEB-INF/struts-tags.tld” prefix=”s” %>
1、Method字首
Method字首用於指定呼叫Action的哪個方法,格式如下:<s:submit name=”method:方法名稱” />。在Action中如果定義了多個方法,除了可以通過上一章講到的配置struts.xml指定要呼叫的方法以外,直接在檢視層指定也是一個不錯的選擇,但是,在配置檔案中指定具有更好的維護性
我們在StrutsAction 類中仍然有兩個方法insertStudent 和updateStudent
使用Method字首可以這樣配置:
struts.xml中 配置name class屬性 即可(這裡沒有太大區別,主要是檢視層的變化)
在jsp頁面中需要使用struts2自帶標籤如下:
<s:form action=”strutsAction “>
<s:submit name=”method:insertStudent ” value=”提交”></s:submit>
<s:submit name=”method:updateStudent” value=”提交”></s:submit>
</s:form>
通過<s:form action=” strutsAction ” />指定要呼叫的Action,在<s:submit/>標籤中,設定name屬性,第一個按鈕呼叫insertStudent ()方法,第二個按鈕呼叫updateStudent()方法
當我們檢視生成的html原始碼時我們發現多了一些表格佈局,在struts2中為標籤使用了預設的主題方式為排版帶來方便
我們也可以取消預設的設定<s:form action=”methodPrefixAction” theme=”simple”>可以替換預設主題
2、Action字首
Action字首可以改變表單的提交行為。<form>的action屬性決定了請求的目的地,一般是不會更改的,但是,Action字首可以做到。如果一個表單有多個提交按鈕,Action字首很有用。當然,用javascript也可以實現相同的效果。Action字首同樣定義在<s:submit>的name屬性中,格式為:action:Action的配置名稱
這裡我們舉個例子 有兩個Action類Action1 和Action2對應的是兩個行為Action1對應的是註冊;Action2對應的是登陸。 在struts.xml檔案中的name分別為action1 和action2
在jsp頁面中的表單如下:
<s:form theme=”simple” action=”action1″>
使用者名稱:<s:textfield name=”user.username”></s:textfield><br>
密碼:<s:password name=”user.password”></s:password><br>
<s:submit value=”註冊”></s:submit>
<s:submit name=”action:action2″ value=”登陸”></s:submit>
</s:form>
這樣我們實現了一個表單多個提交按鈕的操作 注意:Action字首 是針對兩個Action類的行為(如果有不對還望斧批)
3、Redirect字首 和 Redirect-action字首
Redirect字首和Redirect-action字首分別用於將請求重定向到URL或Action。從內部實現看,Redirect字首通過org.apache.struts2.dispatcher.ServletRedirectResult類重定向URL,而Redirect-action字首則通過org.apache.struts2.dispatcher.ServletActionRedirectResult類重定向Action.
Redirect字首的格式為:<s:submit name=”redirect:url”></s:submit>
Redirect-action字首的格式為:<s:submit name=”redirect-action:action-name”></s:submit>
這裡的例子並不是侷限於使用<s:submit>標籤 Redirect字首 和 Redirect-action字首 不提交表單 只做頁面重定向
Method字首 Action字首 Redirect字首 Redirect-action字首
這些字首必須和struts2自帶的自定義標籤一起使用,struts2自定義標籤的描述檔案(tld)在struts2-core-版本號.jar包的META-INF目錄下,複製到工程的WEB-INF目錄中 然後在jsp頁面中新增下面程式碼移用:
<%@ taglib uri=”/WEB-INF/struts-tags.tld” prefix=”s” %>
1、Method字首
Method字首用於指定呼叫Action的哪個方法,格式如下:<s:submit name=”method:方法名稱” />。在Action中如果定義了多個方法,除了可以通過上一章講到的配置struts.xml指定要呼叫的方法以外,直接在檢視層指定也是一個不錯的選擇,但是,在配置檔案中指定具有更好的維護性
我們在StrutsAction 類中仍然有兩個方法insertStudent 和updateStudent
使用Method字首可以這樣配置:
struts.xml中 配置name class屬性 即可(這裡沒有太大區別,主要是檢視層的變化)
在jsp頁面中需要使用struts2自帶標籤如下:
<s:form action=”strutsAction “>
<s:submit name=”method:insertStudent ” value=”提交”></s:submit>
<s:submit name=”method:updateStudent” value=”提交”></s:submit>
</s:form>
通過<s:form action=” strutsAction ” />指定要呼叫的Action,在<s:submit/>標籤中,設定name屬性,第一個按鈕呼叫insertStudent ()方法,第二個按鈕呼叫updateStudent()方法
當我們檢視生成的html原始碼時我們發現多了一些表格佈局,在struts2中為標籤使用了預設的主題方式為排版帶來方便
我們也可以取消預設的設定<s:form action=”methodPrefixAction” theme=”simple”>可以替換預設主題
2、Action字首
Action字首可以改變表單的提交行為。<form>的action屬性決定了請求的目的地,一般是不會更改的,但是,Action字首可以做到。如果一個表單有多個提交按鈕,Action字首很有用。當然,用javascript也可以實現相同的效果。Action字首同樣定義在<s:submit>的name屬性中,格式為:action:Action的配置名稱
這裡我們舉個例子 有兩個Action類Action1 和Action2對應的是兩個行為Action1對應的是註冊;Action2對應的是登陸。 在struts.xml檔案中的name分別為action1 和action2
在jsp頁面中的表單如下:
<s:form theme=”simple” action=”action1″>
使用者名稱:<s:textfield name=”user.username”></s:textfield><br>
密碼:<s:password name=”user.password”></s:password><br>
<s:submit value=”註冊”></s:submit>
<s:submit name=”action:action2″ value=”登陸”></s:submit>
</s:form>
這樣我們實現了一個表單多個提交按鈕的操作 注意:Action字首 是針對兩個Action類的行為(如果有不對還望斧批)
3、Redirect字首 和 Redirect-action字首
Redirect字首和Redirect-action字首分別用於將請求重定向到URL或Action。從內部實現看,Redirect字首通過org.apache.struts2.dispatcher.ServletRedirectResult類重定向URL,而Redirect-action字首則通過org.apache.struts2.dispatcher.ServletActionRedirectResult類重定向Action.
Redirect字首的格式為:<s:submit name=”redirect:url”></s:submit>
Redirect-action字首的格式為:<s:submit name=”redirect-action:action-name”></s:submit>
這裡的例子並不是侷限於使用<s:submit>標籤 Redirect字首 和 Redirect-action字首 不提交表單 只做頁面重定向
相關文章
- Android Action Bar 詳解篇Android
- struts2 action中result引數詳解
- ajax呼叫,action返回的中文為亂碼的解決方案
- Android呼叫WebService詳解AndroidWeb
- ASP.NET MVC 5呼叫其他ActionASP.NETMVC
- Webservice呼叫方式:axis,soap詳解Web
- AndroidJS相互呼叫詳解AndroidJS
- css3瀏覽器私有屬性字首使用詳解CSSS3瀏覽器
- 詳解SSH 框架中物件呼叫流程框架物件
- 詳細講解函式呼叫原理函式
- Java RMI遠端方法呼叫詳解Java
- Android平臺呼叫WebService詳解AndroidWeb
- 詳解 Qt 呼叫 DLL功能函式QT函式
- C#呼叫Windows API詳解(上)C#WindowsAPI
- 下拉選單onchang事件怎麼呼叫不了action?事件
- Vuex原始碼學習(七)action和mutation如何被呼叫的(呼叫篇)Vue原始碼
- Spring @Retryable重試方法呼叫詳解Spring
- 詳解 JS 中 new 呼叫函式原理JS函式
- 〈詳解〉Python3呼叫C程式PythonC程式
- C#呼叫Delphi的dll之詳解C#
- RPC(遠端過程呼叫)詳解RPC
- 淘寶API介面AG文件接入呼叫方法詳解API
- inux系統呼叫fcnt()l函式詳解UX函式
- procedure儲存過程呼叫dba字首的字典dba_objects儲存過程Object
- 字首和的基礎講解
- Hanlp漢字轉拼音使用python呼叫詳解HanLPPython
- Java呼叫SQL Server的儲存過程詳解JavaSQLServer儲存過程
- 讓SQL Server呼叫DLL檔案的方法詳解SQLServer
- Linux系統呼叫詳解(實現機制分析)Linux
- Python呼叫windows下DLL詳解 - ctypes庫的使用PythonWindows
- Python的學習(十五)---- 呼叫windows下DLL詳解PythonWindows
- iOS objc_msgSend尾呼叫優化機制詳解iOSOBJGse優化
- iOS下JS與OC互相呼叫(八)--Cordova詳解+實戰iOSJS
- 字首和
- 字首樹
- (Day4)字首和&二維字首和
- 解決IllegalStateException: Can not perform this action after onSaveInstanceStateExceptionORM
- 字首和與差分 圖文並茂 超詳細整理