struts double action execution!?

"Otto, Frank" <[email protected]> Thu, 9 Oct 2003 14:37:29 +0200
Newsgroups gmane.comp.java.mvc.devel
Message-ID <[email protected]>
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_001_01C38E62.19F8F0B0
Content-Type: text/plain;
	charset="iso-8859-1"

Hello,
 
I have a difficult problem. My action was executed twice and I don't know why.
 
There is a global forward in my main.jsp:
 
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> 
<logic:forward name="startpage"/> 
 
 
struts-config.xml:
 
<struts-config> 
  <global-forwards> 
    <forward 
      name="startpage" 
      path="/action/welcome" /> 

   ... 
  </global-forwards> 

  <action-mappings> 
  
    <action 
      path="/welcome" 
      type="test.actions.CWelcomeAction" 
      name="loginForm" 
      scope="request" 
      validate="false"> 
      <forward 
        name="Success" path="dos.Welcome" />        
    </action> 

    ... 
  </action-mappings> 

 
tiles-def.xml:
 
<tiles-definitions> 
   <definition name="dos.DefaultLayout" page="/pages/layouts/dosDefaultLayout.jsp"> 
            <put name="header" value="/pages/header/empty.jsp"/> 
            <put name="agb" value="/pages/submenu/common/agb.jsp"/> 
   </definition> 
    
   <definition name="dos.WelcomeLayout" extends="dos.DefaultLayout">                
                <put name="header" value="/pages/header/startpage.jsp"/> 
      <put name="mainmenu_top" value="/pages/mainmenu_top/emptymain.jsp"/> 
      <put name="mainmenu_bottom" value="/pages/mainmenu_bottom/welcomemain.jsp"/> 
      <put name="submenu" value="/pages/submenu/main/login.jsp"/> 
                <put name="navigation" value="/pages/navigation/empty.jsp"/> 
   </definition> 
    
   <definition name="dos.Welcome" extends="dos.WelcomeLayout"> 
                <put name="caption" value="/pages/captions/main/welcome.jsp"/> 
      <put name="content" value="/pages/mainpage/main/welcome.jsp"/> 
   </definition> 
... 
</tiles-definitions>
 
 
That was written in the log-file:
 
DEBUG 2003-10-09 08:50:46,204 - Get module name for path /action 
DEBUG 2003-10-09 08:50:46,204 - Module name found: default 
DEBUG 2003-10-09 08:50:46,205 - Processing a 'GET' for path '/welcome' 
DEBUG 2003-10-09 08:50:46,205 -  Looking for ActionForm bean instance in scope 'request' under attribute key 'loginForm' 
DEBUG 2003-10-09 08:50:46,205 -  Creating new ActionForm instance of type 'test.forms.main.CLoginForm' 
DEBUG 2003-10-09 08:50:46,205 -  --> test.forms.main.CLoginForm@f507d2 
DEBUG 2003-10-09 08:50:46,205 -  Storing ActionForm bean instance in scope 'request' under attribute key 'loginForm' 
DEBUG 2003-10-09 08:50:46,206 -  Populating bean properties from this request 
DEBUG 2003-10-09 08:50:46,206 - BeanUtils.populate(test.forms.main.CLoginForm@f507d2, {}) 
DEBUG 2003-10-09 08:50:46,206 -  Looking for Action instance for class test.actions.CWelcomeAction 
DEBUG 2003-10-09 08:50:46,206 -   Returning existing Action instance 
DEBUG 2003-10-09 08:50:46,206 - Begin   CWelcomeAction.execute() 
DEBUG 2003-10-09 08:50:46,206 - dispatch: ActionConfig[path=/welcome,name=loginForm,scope=request,type=test.actions.CWelcome 
Action 
... 
DEBUG 2003-10-09 08:50:46,211 - End     CWelcomeAction.execute() 
DEBUG 2003-10-09 08:50:46,211 - processForwardConfig(dos.Welcome, false) 
DEBUG 2003-10-09 08:50:46,212 - uri=/pages/layouts/dosDefaultLayout.jsp doInclud 
e=false 
DEBUG 2003-10-09 08:50:46,214 - insert page='/pages/header/startpage.jsp'. 
DEBUG 2003-10-09 08:50:46,219 - insert page='/pages/mainmenu_bottom/welcomemain. 
jsp'. 
DEBUG 2003-10-09 08:50:46,226 - insert page='/pages/submenu/main/login.jsp'. 
DEBUG 2003-10-09 08:50:46,230 - insert page='/pages/submenu/common/agb.jsp'. 
DEBUG 2003-10-09 08:50:46,236 - insert page='/pages/navigation/empty.jsp'. 
DEBUG 2003-10-09 08:50:46,238 - insert page='/pages/captions/main/welcome.jsp'. 
DEBUG 2003-10-09 08:50:46,240 - insert page='/pages/mainpage/main/welcome.jsp'. 
DEBUG 2003-10-09 08:50:46,242 -   'dos.Welcome' - processed as definition 

THE SECOND ONE:
DEBUG 2003-10-09 08:50:46,522 - Get module name for path /action 
DEBUG 2003-10-09 08:50:46,522 - Module name found: default 
DEBUG 2003-10-09 08:50:46,523 - Processing a 'GET' for path '/welcome' 
DEBUG 2003-10-09 08:50:46,523 -  Looking for ActionForm bean instance in scope ' 
request' under attribute key 'loginForm' 
DEBUG 2003-10-09 08:50:46,523 -  Creating new ActionForm instance of type 'test.forms.main.CLoginForm' 
DEBUG 2003-10-09 08:50:46,526 -  --> test.forms.main.CLoginForm@d4 
a1d3 
DEBUG 2003-10-09 08:50:46,526 -  Storing ActionForm bean instance in scope 'requ 
est' under attribute key 'loginForm' 
DEBUG 2003-10-09 08:50:46,526 -  Populating bean properties from this request 
DEBUG 2003-10-09 08:50:46,526 - BeanUtils.populate(test.forms.main 
.CLoginForm@d4a1d3, {}) 
DEBUG 2003-10-09 08:50:46,526 -  Looking for Action instance for class test.actions.CWelcomeAction 
DEBUG 2003-10-09 08:50:46,526 -   Returning existing Action instance 
DEBUG 2003-10-09 08:50:46,526 - Begin   CWelcomeAction.execute() 
DEBUG 2003-10-09 08:50:46,526 - dispatch: ActionConfig[path=/welcome,name=loginF 
orm,scope=request,type=test.actions.CWelcome 
Action 
... 
DEBUG 2003-10-09 08:50:46,548 - End     CWelcomeAction.execute() 
DEBUG 2003-10-09 08:50:46,550 - processForwardConfig(dos.Welcome, false) 
DEBUG 2003-10-09 08:50:46,551 - uri=/pages/layouts/dosDefaultLayout.jsp doInclud 
e=false 
DEBUG 2003-10-09 08:50:46,555 - insert page='/pages/header/startpage.jsp'. 
DEBUG 2003-10-09 08:50:46,562 - insert page='/pages/mainmenu_bottom/welcomemain. 
jsp'. 
DEBUG 2003-10-09 08:50:46,577 - insert page='/pages/submenu/main/login.jsp'. 
DEBUG 2003-10-09 08:50:46,582 - insert page='/pages/submenu/common/agb.jsp'. 
DEBUG 2003-10-09 08:50:46,584 - insert page='/pages/navigation/empty.jsp'. 
DEBUG 2003-10-09 08:50:46,585 - insert page='/pages/captions/main/welcome.jsp'. 
DEBUG 2003-10-09 08:50:46,586 - insert page='/pages/mainpage/main/welcome.jsp'. 
DEBUG 2003-10-09 08:50:46,587 -   'dos.Welcome' - processed as definition 

 
 
Has anyone an idea, where the mistake is? I thing all my actions were executed twice.
 
 
Regards,
 
Frank

------_=_NextPart_001_01C38E62.19F8F0B0
Content-Type: text/html;
	charset="iso-8859-1"

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">


<META content="MSHTML 5.50.4807.2300" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=838533812-09102003><FONT face=Arial 
size=2>Hello,</FONT></SPAN></DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial size=2>I have a difficult 
problem. My action was executed twice and I don't know why.</FONT></SPAN></DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial size=2>There is a global 
forward in my main.jsp:</FONT></SPAN></DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial size=2>&lt;%@ taglib 
uri="/WEB-INF/struts-logic.tld" prefix="logic" %&gt; <BR>&lt;logic:forward 
name="startpage"/&gt; </FONT></SPAN></DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial 
size=2><STRONG>struts-config.xml:</STRONG></FONT></SPAN></DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial 
size=2>&lt;struts-config&gt; <BR>&nbsp; &lt;global-forwards&gt; <BR>&nbsp; 
&nbsp; &lt;forward <BR>&nbsp; &nbsp; &nbsp; name="startpage" <BR>&nbsp; &nbsp; 
&nbsp; path="/action/welcome" /&gt; <BR><BR>&nbsp; &nbsp;... <BR>&nbsp; 
&lt;/global-forwards&gt; <BR><BR>&nbsp; &lt;action-mappings&gt; <BR>&nbsp; 
<BR>&nbsp; &nbsp; &lt;action <BR>&nbsp; &nbsp; &nbsp; path="/welcome" <BR>&nbsp; 
&nbsp; &nbsp; type="test.actions.CWelcomeAction" <BR>&nbsp; &nbsp; &nbsp; 
name="loginForm" <BR>&nbsp; &nbsp; &nbsp; scope="request" <BR>&nbsp; &nbsp; 
&nbsp; validate="false"&gt; <BR>&nbsp; &nbsp; &nbsp; &lt;forward <BR>&nbsp; 
&nbsp; &nbsp; &nbsp; name="Success" path="dos.Welcome" /&gt;&nbsp; &nbsp; &nbsp; 
&nbsp; <BR>&nbsp; &nbsp; &lt;/action&gt; <BR><BR>&nbsp; &nbsp; ... <BR>&nbsp; 
&lt;/action-mappings&gt; <BR></FONT></SPAN></DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial 
size=2><STRONG></STRONG></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial 
size=2><STRONG>tiles-def.xml:</STRONG></FONT></SPAN></DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial 
size=2>&lt;tiles-definitions&gt;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&lt;definition 
name="dos.DefaultLayout" page="/pages/layouts/dosDefaultLayout.jsp"&gt; 
<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;put name="header" 
value="/pages/header/empty.jsp"/&gt; <BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
&nbsp; &lt;put name="agb" value="/pages/submenu/common/agb.jsp"/&gt; <BR>&nbsp; 
&nbsp;&lt;/definition&gt;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&lt;definition 
name="dos.WelcomeLayout" extends="dos.DefaultLayout"&gt;&nbsp; &nbsp; &nbsp; 
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
&nbsp; &nbsp; &lt;put name="header" value="/pages/header/startpage.jsp"/&gt; 
<BR>&nbsp; &nbsp;&nbsp; &nbsp;&lt;put name="mainmenu_top" 
value="/pages/mainmenu_top/emptymain.jsp"/&gt; <BR>&nbsp; &nbsp;&nbsp; 
&nbsp;&lt;put name="mainmenu_bottom" 
value="/pages/mainmenu_bottom/welcomemain.jsp"/&gt; <BR>&nbsp; &nbsp;&nbsp; 
&nbsp;&lt;put name="submenu" value="/pages/submenu/main/login.jsp"/&gt; 
<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;put 
name="navigation" value="/pages/navigation/empty.jsp"/&gt; <BR>&nbsp; 
&nbsp;&lt;/definition&gt;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&lt;definition 
name="dos.Welcome" extends="dos.WelcomeLayout"&gt; <BR>&nbsp; &nbsp; &nbsp; 
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;put name="caption" 
value="/pages/captions/main/welcome.jsp"/&gt; <BR>&nbsp; &nbsp;&nbsp; 
&nbsp;&lt;put name="content" value="/pages/mainpage/main/welcome.jsp"/&gt; 
<BR>&nbsp; &nbsp;&lt;/definition&gt; <BR>... 
<BR>&lt;/tiles-definitions&gt;</FONT></SPAN></DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial size=2>That was written in 
the log-file:</FONT></SPAN></DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial size=2>DEBUG 2003-10-09 
08:50:46,204 - Get module name for path /action <BR>DEBUG 2003-10-09 
08:50:46,204 - Module name found: default <BR>DEBUG 2003-10-09 08:50:46,205 - 
Processing a 'GET' for path '/welcome' <BR>DEBUG 2003-10-09 08:50:46,205 -&nbsp; 
Looking for ActionForm bean instance in scope 'request' under attribute key 
'loginForm' <BR>DEBUG 2003-10-09 08:50:46,205 -&nbsp; Creating new ActionForm 
instance of type 'test.forms.main.CLoginForm' <BR>DEBUG 2003-10-09 08:50:46,205 
-&nbsp; --&gt; test.forms.main.CLoginForm@f507d2 <BR>DEBUG 2003-10-09 
08:50:46,205 -&nbsp; Storing ActionForm bean instance in scope 'request' under 
attribute key 'loginForm' <BR>DEBUG 2003-10-09 08:50:46,206 -&nbsp; Populating 
bean properties from this request <BR>DEBUG 2003-10-09 08:50:46,206 - 
BeanUtils.populate(test.forms.main.CLoginForm@f507d2, {}) <BR>DEBUG 2003-10-09 
08:50:46,206 -&nbsp; Looking for Action instance for class 
test.actions.CWelcomeAction <BR>DEBUG 2003-10-09 08:50:46,206 -&nbsp; 
&nbsp;Returning existing Action instance <BR>DEBUG 2003-10-09 08:50:46,206 - 
Begin&nbsp; &nbsp;CWelcomeAction.execute() <BR>DEBUG 2003-10-09 08:50:46,206 - 
dispatch: 
ActionConfig[path=/welcome,name=loginForm,scope=request,type=test.actions.CWelcome 
<BR>Action <BR>... <BR>DEBUG 2003-10-09 08:50:46,211 - End&nbsp; &nbsp; 
&nbsp;CWelcomeAction.execute() <BR>DEBUG 2003-10-09 08:50:46,211 - 
processForwardConfig(dos.Welcome, false) <BR>DEBUG 2003-10-09 08:50:46,212 - 
uri=/pages/layouts/dosDefaultLayout.jsp doInclud <BR>e=false <BR>DEBUG 
2003-10-09 08:50:46,214 - insert page='/pages/header/startpage.jsp'. <BR>DEBUG 
2003-10-09 08:50:46,219 - insert page='/pages/mainmenu_bottom/welcomemain. 
<BR>jsp'. <BR>DEBUG 2003-10-09 08:50:46,226 - insert 
page='/pages/submenu/main/login.jsp'. <BR>DEBUG 2003-10-09 08:50:46,230 - insert 
page='/pages/submenu/common/agb.jsp'. <BR>DEBUG 2003-10-09 08:50:46,236 - insert 
page='/pages/navigation/empty.jsp'. <BR>DEBUG 2003-10-09 08:50:46,238 - insert 
page='/pages/captions/main/welcome.jsp'. <BR>DEBUG 2003-10-09 08:50:46,240 - 
insert page='/pages/mainpage/main/welcome.jsp'. <BR>DEBUG 2003-10-09 
08:50:46,242 -&nbsp; &nbsp;'dos.Welcome' - processed as definition 
<BR><BR><STRONG>THE SECOND ONE:</STRONG></FONT></SPAN></DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial size=2>DEBUG 2003-10-09 
08:50:46,522 - Get module name for path /action <BR>DEBUG 2003-10-09 
08:50:46,522 - Module name found: default <BR>DEBUG 2003-10-09 08:50:46,523 - 
Processing a 'GET' for path '/welcome' <BR>DEBUG 2003-10-09 08:50:46,523 -&nbsp; 
Looking for ActionForm bean instance in scope ' <BR>request' under attribute key 
'loginForm' <BR>DEBUG 2003-10-09 08:50:46,523 -&nbsp; Creating new ActionForm 
instance of type 'test.forms.main.CLoginForm' <BR>DEBUG 2003-10-09 08:50:46,526 
-&nbsp; --&gt; test.forms.main.CLoginForm@d4 <BR>a1d3 <BR>DEBUG 2003-10-09 
08:50:46,526 -&nbsp; Storing ActionForm bean instance in scope 'requ <BR>est' 
under attribute key 'loginForm' <BR>DEBUG 2003-10-09 08:50:46,526 -&nbsp; 
Populating bean properties from this request <BR>DEBUG 2003-10-09 08:50:46,526 - 
BeanUtils.populate(test.forms.main <BR>.CLoginForm@d4a1d3, {}) <BR>DEBUG 
2003-10-09 08:50:46,526 -&nbsp; Looking for Action instance for class 
test.actions.CWelcomeAction <BR>DEBUG 2003-10-09 08:50:46,526 -&nbsp; 
&nbsp;Returning existing Action instance <BR>DEBUG 2003-10-09 08:50:46,526 - 
Begin&nbsp; &nbsp;CWelcomeAction.execute() <BR>DEBUG 2003-10-09 08:50:46,526 - 
dispatch: ActionConfig[path=/welcome,name=loginF 
<BR>orm,scope=request,type=test.actions.CWelcome <BR>Action <BR>... <BR>DEBUG 
2003-10-09 08:50:46,548 - End&nbsp; &nbsp; &nbsp;CWelcomeAction.execute() 
<BR>DEBUG 2003-10-09 08:50:46,550 - processForwardConfig(dos.Welcome, false) 
<BR>DEBUG 2003-10-09 08:50:46,551 - uri=/pages/layouts/dosDefaultLayout.jsp 
doInclud <BR>e=false <BR>DEBUG 2003-10-09 08:50:46,555 - insert 
page='/pages/header/startpage.jsp'. <BR>DEBUG 2003-10-09 08:50:46,562 - insert 
page='/pages/mainmenu_bottom/welcomemain. <BR>jsp'. <BR>DEBUG 2003-10-09 
08:50:46,577 - insert page='/pages/submenu/main/login.jsp'. <BR>DEBUG 2003-10-09 
08:50:46,582 - insert page='/pages/submenu/common/agb.jsp'. <BR>DEBUG 2003-10-09 
08:50:46,584 - insert page='/pages/navigation/empty.jsp'. <BR>DEBUG 2003-10-09 
08:50:46,585 - insert page='/pages/captions/main/welcome.jsp'. <BR>DEBUG 
2003-10-09 08:50:46,586 - insert page='/pages/mainpage/main/welcome.jsp'. 
<BR>DEBUG 2003-10-09 08:50:46,587 -&nbsp; &nbsp;'dos.Welcome' - processed as 
definition <BR></FONT></SPAN></DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial size=2>Has anyone an idea, 
where the mistake is? I thing all my actions were executed 
twice.</FONT></SPAN></DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial 
size=2>Regards,</FONT></SPAN></DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=838533812-09102003><FONT face=Arial 
size=2>Frank</DIV></FONT></SPAN></BODY></HTML>

------_=_NextPart_001_01C38E62.19F8F0B0--