action中调用另一个action中的方法
建立三个jsp页面
forward1.jsp,forward2.jsp,forward3.jsp
forward2.jsp是最后跳转的页面
建立2个action
Forward1Action,Forward3Action
forward1:
@ page language
=
"
java
"
pageEncoding
=
"
UTF-8
"
%>
@ 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
"
%>
DOCTYPE HTML PUBLIC
"
-//W3C//DTD HTML 4.01 Transitional//EN
"
>
<
html:html lang
=
"
true
"
>
<
head
>
<
html:base
/>
<
title
>
forward1.jsp
title
>
<
meta http
-
equiv
=
"
pragma
"
content
=
"
no-cache
"
>
<
meta http
-
equiv
=
"
cache-control
"
content
=
"
no-cache
"
>
<
meta http
-
equiv
=
"
expires
"
content
=
"
0
"
>
<
meta http
-
equiv
=
"
keywords
"
content
=
"
keyword1,keyword2,keyword3
"
>
<
meta http
-
equiv
=
"
description
"
content
=
"
This is my page
"
>
head
>
<
body
>
<
a href
=
"
forward1.do?method=doForward
"
>
forwarder to forward2.jsp
a
>
body
>
html:html
>
forward2:
@ page language
=
"
java
"
pageEncoding
=
"
UTF-8
"
%>
@ 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
"
%>
DOCTYPE HTML PUBLIC
"
-//W3C//DTD HTML 4.01 Transitional//EN
"
>
<
html:html lang
=
"
true
"
>
<
head
>
<
html:base
/>
<
title
>
forward2.jsp
title
>
<
meta http
-
equiv
=
"
pragma
"
content
=
"
no-cache
"
>
<
meta http
-
equiv
=
"
cache-control
"
content
=
"
no-cache
"
>
<
meta http
-
equiv
=
"
expires
"
content
=
"
0
"
>
<
meta http
-
equiv
=
"
keywords
"
content
=
"
keyword1,keyword2,keyword3
"
>
<
meta http
-
equiv
=
"
description
"
content
=
"
This is my page
"
>
head
>
<
body
>
<
bean:write name
=
"
from
"
/>
<
br
>
<
logic:present name
=
"
from2
"
>
<
bean:write name
=
"
from2
"
/>
<
br
>
logic:present
>
body
>
html:html
>
forward3:
@ page language
=
"
java
"
pageEncoding
=
"
UTF-8
"
%>
@ 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
"
%>
DOCTYPE HTML PUBLIC
"
-//W3C//DTD HTML 4.01 Transitional//EN
"
>
<
html:html lang
=
"
true
"
>
<
head
>
<
html:base
/>
<
title
>
forward3.jsp
title
>
<
meta http
-
equiv
=
"
pragma
"
content
=
"
no-cache
"
>
<
meta http
-
equiv
=
"
cache-control
"
content
=
"
no-cache
"
>
<
meta http
-
equiv
=
"
expires
"
content
=
"
0
"
>
<
meta http
-
equiv
=
"
keywords
"
content
=
"
keyword1,keyword2,keyword3
"
>
<
meta http
-
equiv
=
"
description
"
content
=
"
This is my page
"
>
head
>
<
body
>
<
a href
=
"
forward3.do?method=doForward
"
>
forwarde to forward3.
do
a
>
body
>
html:html
>
}
package
com.test.struts.action;
import
java.util.Properties;
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
com.test.struts.form.Forward1Form;
public
class
Forward1Action
extends
DispatchAction
...
{
publicActionForward doForward(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)...{
Forward1Form forward1Form=(Forward1Form) form;
String s="form forward1.jsp";
request.setAttribute("from",s);
returnmapping.findForward("ok");
}
}
package
com.test.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;
public
class
Forward3Action
extends
DispatchAction
...
{
publicActionForward doForward(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)...{
Forward1Action f1=newForward1Action();
//调用另一个action的方法
ActionForward a=f1.doForward(mapping,form,request,response);
String s="from forward3.jsp";
request.setAttribute("from2",s);
returna;
}
}
配置文件:
<
xml version
=
"
1.0
"
encoding
=
"
UTF-8
"
?>
DOCTYPE struts
-
config PUBLIC
"
-//Apache Software Foundation//DTD Struts Configuration 1.2//EN
"
"
http://struts.apache.org/dtds/struts-config_1_2.dtd
"
>
<
struts
-
config
>
<
data
-
sources
/>
<
form
-
beans
>
form
-
beans
>
<
global
-
exceptions
/>
<
global
-
forwards
/>
<
action
-
mappings
>
<
action
attribute
=
"
forward1Form
"
input
=
"
/forward1.jsp
"
path
=
"
/forward1
"
scope
=
"
request
"
type
=
"
com.test.struts.action.Forward1Action
"
parameter
=
"
method
"
>
<
forward name
=
"
ok
"
path
=
"
/forward2.jsp
"
/>
action
>
<
action
input
=
"
/forward3.jsp
"
path
=
"
/forward3
"
type
=
"
com.test.struts.action.Forward3Action
"
parameter
=
"
method
"
>
<
forward name
=
"
ok
"
path
=
"
/forward2.jsp
"
/>
action
>
action
-
mappings
>
<
message
-
resources parameter
=
"
com.test.struts.ApplicationResources
"
/>
struts
-
config
>