You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Security Management <li...@secmgmt.com> on 2009/07/17 15:55:31 UTC

Help with a redirect

When my index page loads, ajax requests are posted to the statusAjax page
with a parameter of door.id equal to x for the doors.

That works fine, and is a POST.

When I click on an icon, it posts to the identical action, to either lock or
unlock.  When the action is done, I redirect to the status action (just like
when the index loads, except with a GET this time).  I get an exception
setting the door.id, but the url shows that the get value and property name
are right for the redirect action.  Can someone explain what I am doing
wrong?  The action works on the index ajax calls, but future clicks give me:

Caused by: ognl.NoSuchPropertyException:
org.apache.struts2.dispatcher.ServletActionRedirectResult.door

Here is the struts.xml

<action name="index"
class="com.secmgmt.struts2.actions.door_control.DoorControlIndexAction">
      <result
name="success">/pages/door-control/jsps/index-ajax.jsp</result>
</action>
<action name="lock"
class="com.secmgmt.struts2.actions.door_control.DoorControlLockDoor">
	<result name="success" type="redirectAction">
		<param name="actionName">statusAjax</param>
	<param name="door.id">${door.id}</param>
</result>
</action>
		
<action name="unlock"
class="com.secmgmt.struts2.actions.door_control.DoorControlUnlockDoor">
	<result name="success" type="redirectAction">
		<param name="actionName">statusAjax</param>
			<param name="door.id">${door.id}</param>
	</result>
</action>

<action name="statusAjax"
class="com.secmgmt.struts2.actions.door_control.AjaxDoorStatus">
	<result
name="success">/pages/door-control/jsps/single-door-ajax.jsp</result>
</action>


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: Help with a redirect

Posted by Dave Newton <ne...@yahoo.com>.
Is it actually not being set on the action, or is this just the normal 
log message for parameters that don't exist in the result?

Dave

Security Management wrote:
> OK, tried adding the "parse" param, and still no luck...
> 
> <action name="unlock"
> class="com.secmgmt.struts2.actions.door_control.DoorControlUnlockDoor">
> 			<result name="success" type="redirectAction">
> 				<param name="actionName">statusAjax</param>
> 				<param name="door.id">${door.id}</param>
> 				<param name="parse">true</param>
> 			</result>
> </action>
> 
> -----Original Message-----
> From: Security Management [mailto:list-subscriptions@secmgmt.com] 
> Sent: Friday, July 17, 2009 9:56 AM
> To: 'Struts Users Mailing List'
> Subject: Help with a redirect
> 
> When my index page loads, ajax requests are posted to the statusAjax page
> with a parameter of door.id equal to x for the doors.
> 
> That works fine, and is a POST.
> 
> When I click on an icon, it posts to the identical action, to either lock or
> unlock.  When the action is done, I redirect to the status action (just like
> when the index loads, except with a GET this time).  I get an exception
> setting the door.id, but the url shows that the get value and property name
> are right for the redirect action.  Can someone explain what I am doing
> wrong?  The action works on the index ajax calls, but future clicks give me:
> 
> Caused by: ognl.NoSuchPropertyException:
> org.apache.struts2.dispatcher.ServletActionRedirectResult.door
> 
> Here is the struts.xml
> 
> <action name="index"
> class="com.secmgmt.struts2.actions.door_control.DoorControlIndexAction">
>       <result
> name="success">/pages/door-control/jsps/index-ajax.jsp</result>
> </action>
> <action name="lock"
> class="com.secmgmt.struts2.actions.door_control.DoorControlLockDoor">
> 	<result name="success" type="redirectAction">
> 		<param name="actionName">statusAjax</param>
> 	<param name="door.id">${door.id}</param>
> </result>
> </action>
> 		
> <action name="unlock"
> class="com.secmgmt.struts2.actions.door_control.DoorControlUnlockDoor">
> 	<result name="success" type="redirectAction">
> 		<param name="actionName">statusAjax</param>
> 			<param name="door.id">${door.id}</param>
> 	</result>
> </action>
> 
> <action name="statusAjax"
> class="com.secmgmt.struts2.actions.door_control.AjaxDoorStatus">
> 	<result
> name="success">/pages/door-control/jsps/single-door-ajax.jsp</result>
> </action>
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


RE: Help with a redirect

Posted by Security Management <li...@secmgmt.com>.
OK, tried adding the "parse" param, and still no luck...

<action name="unlock"
class="com.secmgmt.struts2.actions.door_control.DoorControlUnlockDoor">
			<result name="success" type="redirectAction">
				<param name="actionName">statusAjax</param>
				<param name="door.id">${door.id}</param>
				<param name="parse">true</param>
			</result>
</action>

-----Original Message-----
From: Security Management [mailto:list-subscriptions@secmgmt.com] 
Sent: Friday, July 17, 2009 9:56 AM
To: 'Struts Users Mailing List'
Subject: Help with a redirect

When my index page loads, ajax requests are posted to the statusAjax page
with a parameter of door.id equal to x for the doors.

That works fine, and is a POST.

When I click on an icon, it posts to the identical action, to either lock or
unlock.  When the action is done, I redirect to the status action (just like
when the index loads, except with a GET this time).  I get an exception
setting the door.id, but the url shows that the get value and property name
are right for the redirect action.  Can someone explain what I am doing
wrong?  The action works on the index ajax calls, but future clicks give me:

Caused by: ognl.NoSuchPropertyException:
org.apache.struts2.dispatcher.ServletActionRedirectResult.door

Here is the struts.xml

<action name="index"
class="com.secmgmt.struts2.actions.door_control.DoorControlIndexAction">
      <result
name="success">/pages/door-control/jsps/index-ajax.jsp</result>
</action>
<action name="lock"
class="com.secmgmt.struts2.actions.door_control.DoorControlLockDoor">
	<result name="success" type="redirectAction">
		<param name="actionName">statusAjax</param>
	<param name="door.id">${door.id}</param>
</result>
</action>
		
<action name="unlock"
class="com.secmgmt.struts2.actions.door_control.DoorControlUnlockDoor">
	<result name="success" type="redirectAction">
		<param name="actionName">statusAjax</param>
			<param name="door.id">${door.id}</param>
	</result>
</action>

<action name="statusAjax"
class="com.secmgmt.struts2.actions.door_control.AjaxDoorStatus">
	<result
name="success">/pages/door-control/jsps/single-door-ajax.jsp</result>
</action>


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org