? Action的做用
– 處理具體業務邏輯的小控制器
? Action 的配置和使用
– Action 的定義
– Action 的聲明
– Action 的調用
? 使用Struts的流程
– 圖示
– 定義Action
– 定義Formbean
– 配置Action、formbean
– 配置映射結果
– 定義JSP頁面
– 調用
? 映射結果
– ActionForward
– 配置映射
– Global forward
---------------------------START-----------------------------------
? Action 的做用
–和Servlet來比較使用
–處理用戶請求
? 處理具體業務邏輯的小控制器
–調用後臺邏輯
? 業務邏輯
? 數據邏輯
–頁面跳轉
? 返回ActionForward
–被配置struts-config.xml文件中
? Action 的配置和使用
–Action 的定義
? 定義一個類繼承Action
? 覆蓋Action的execute方法
– 例如:
public
class LoginAction
extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse
response)
throws Exception {
}
–Action 的聲明
? 配置在struts-config.xml配置文件中,例如:
<action path=
"/login"
type=
"com.redking.action.LoginAction"
>
</action>
–Action 的調用
? 表單調用
? URL調用
? 超連接調用
? JavaScript調用
LoginAction.java
struts-config.xml
web.xml
? URL調用
? 超連接調用
index.jsp
? 表單調用
login.jsp
? JavaScript調用
login.jsp
LoginAction.java
? 使用Struts的流程
– 圖示
– 定義Action
? 同上
– 定義Formbean
?略
– 配置Action、formbean
? Actoin
– 同上
? formBean
–略
– 配置映射結果
<forward name=
"welcome" path=
"/pages/Welcome.jsp"></forward>
<forward name=
"failure" path=
"/pages/Failure.jsp"></forward>
– 定義JSP頁面
<form name=
"f1" id=
"f1" action=
"<%=path %>/login.amaker" method=
"post">
</form>
– 調用
action=
"<%=path %>/login.amaker"
? 映射結果
–ActionForward
? Action 的execute方法返回ActionForward對象來跳轉到其餘頁面
? 經過ActionMapping的方法來跳轉
–findForward(「welcome」);
? 跳轉到指定頁面
–getInputForward();
? 跳轉到輸入頁面
–配置映射
<forward name=
"welcome" path=
"/pages/Welcome.jsp"></forward>
<forward name=
"failure" path=
"/pages/Failure.jsp"></forward>
–Global forward
<global-forwards>
<forward name=
"index" path=
"/index.jsp"/>
</global-forwards>
LoginAction.java
struts-config.xml
successfull.jsp
failure.jsp
測試:
登陸成功
從新測試:
登陸失敗
從新改進下哈~
LoginAction.java
struts-config.xml
login.jsp
測試:
看下效果:
上面繞了個轉跳轉到登陸頁面,咱們再改進下
LoginAction.java
struts-config.xml
從新測試下:
效果同樣哈~
下面簡單看下Global forward的效果
LoginAction.java
struts-config.xml
看下效果:
-------------------------------END---------------------------------