Struts Action深入
来源:互联网 发布:朗伽病理软件 编辑:程序博客网 时间:2024/06/03 19:44
ForwardAction
在Struts中通过org.apache.struts.actions.ForwardAction类可以将一个JSP页面作为一个Action进行映射,通过配置struts-config.xml文件即可
定义一个跳转页----hello.jsp
<%@ page language="java" pageEncoding="GBK"%><%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%><%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%><%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%><%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%><html:html lang="true"><head><html:base /><title>hello.jsp</title></head><body><h2>HELLO MLDN !!!</h2></body></html:html>配置struts-config.xml
<action-mappings><action path="/hello"type="org.apache.struts.actions.ForwardAction"parameter="/hello.jsp" /></action-mappings>通过超链接访问hello.do----forindex.jsp
<%@ page language="java" pageEncoding="GBK"%><html><head> <title></title></head><body> <h2><a href="hello.do">连接到hello.do页面</a></h2></body></html>
在标准的MVC设计模式中,所有的JSP都应该通过Servlet(Struts中为Action)跳转到另外一个JSP页面,所以在Struts中为了提倡这种概念,而引入了ForwardAction做一个中间跳转的Action。
IncludeAction
在Struts中也为引入资源提供了一个org.apache.struts.actions.IncludeAction类,通过此Action的配置,可以将一个页面进行导入。此Action也需要通过配置完成,配置如下:
将hello.jsp配置到IncludeAction中----修改struts-config.xml
<action-mappings><action path="/inc" type="org.apache.struts.actions.IncludeAction"parameter="/hello.jsp" /></action-mappings>包含配置的IncludeAction----incindex.jsp
<%@ page language="java" pageEncoding="GBK"%><html><head> <title></title></head><body><span style="white-space:pre"></span></span><h2>你好,小明</h2><span style="white-space:pre"></span></span><jsp:include page="inc.do" /></body></html>
在原始的Struts开发中,一个Action中只包含一个execute()方法,但是如果此时的项目很大,则会有多个业务类似的Action出现,会造成后期的维护困难,所以在Struts中为了解决这样的问题,专门增加了一个DispatchAction类,此类集成Action类,并且完成分发的处理操作。
分发Action的使用与普通的Action类似,仍然要被一个类所继承,并且根据要求覆写方法,唯一不同的是,此时的方法可以有多个,而且着多个方法分别表示着不同的操作。
定义一个分发Action----EmpAction.java
package org.lxh.struts.action;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.actions.DispatchAction;import org.lxh.struts.form.EmpForm;public class EmpAction extends DispatchAction {public ActionForward insert(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {EmpForm empForm = (EmpForm) form;// TODO Auto-generated method stubSystem.out.println("*** 增加操作") ;return null;} public ActionForward update(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {EmpForm empForm = (EmpForm) form;// TODO Auto-generated method stubSystem.out.println("*** 更新操作") ;return null;}}
配置分发Action----修改struts-config.xml
<action-mappings> <action attribute="empForm" input="/form/emp.jsp" name="empForm" <strong>parameter="status"</strong> path="/emp" scope="request" type="org.lxh.struts.action.EmpAction" /></action-mappings>在分发Action操作中一个决定性的参数就是parameter,以后再传递是根据status的内容会调用EmpAction中的指定方法,
例如:
调用insert()方法:status=insert
调用update()方法:status=update
分发Action不能编写exectue()方法。
如果一个类集成了DispatchAction类,则在此类中一定不能编写execute()方法,否则像insert()和update()方法都将无法正确调用。
- Struts Action深入
- Struts Action
- struts action
- struts action
- Struts action
- Struts-Action
- 深入Struts
- 深入Struts
- 深入Struts
- 【Struts】Action 2 action类
- Struts 2 学习笔记 - 4.配置文件深入(2):action,result,exception
- 深入详解Struts2——struts.xml配置之Action配置详解
- Struts---Action篇
- Struts Learning Note3 --- Action
- struts in action
- Action 1 理解Struts
- struts in action读书笔记
- Struts控制器组件-Action
- linux之sort用法
- POJ 1061 青蛙的约会
- Better IO through byte-addressable,persistent memory 论文笔记~
- Java内部类的自我理解
- labmda函数
- Struts Action深入
- PHP $_SERVER
- 最大化/最小化/还原/关闭以及按钮图片的添加
- readline-6.3 之arm平台交叉编译
- 常用工具
- 【LeetCode】Sum Root to Leaf Numbers
- 第69节:用人特长的五个要点
- 数据库 -- SQLite3详解
- iOS 面试题:OC基本概念题