Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Won't Fix
-
Affects Version/s: 1.7.2 SP1, 1.8DR#1
-
Fix Version/s: 2.0.1
-
Component/s: ICE-Components
-
Labels:None
-
Environment:standardRequestScope=true
-
ICEsoft Forum Reference:
-
Affects:Documentation (User Guide, Ref. Guide, etc.)
-
Workaround Exists:Yes
-
Workaround Description:Always use explicit ids with the MenuItem components you create for your ice:menuItems. And try to make them in your constructor, and just return them in the List getter method.
Description
The ice:menuItems component sets-up the parenting of the List<MenuItem> right before rendering. It assumes that the same List<MenuItem> will be returned from the bean upon decode, with the parenting still setup. But with standardRequestScope="true", it will be a new bean, with a new List<MenuItem>, so the decode will fail. If the MenuItem component did the reparenting on the decode, then it might work.
BUT, if the MenuItem components in the List<MenuItem> use generated ids, that will change each time the new List<MenuItem> is gotten, then they'll still fail to decode properly, because the click will be going to a stale clientId. So, even when this bug is fixed, special care will have to be taken with ice:menuItems and standardRequestScope="true".
BUT, if the MenuItem components in the List<MenuItem> use generated ids, that will change each time the new List<MenuItem> is gotten, then they'll still fail to decode properly, because the click will be going to a stale clientId. So, even when this bug is fixed, special care will have to be taken with ice:menuItems and standardRequestScope="true".
May be related to fix for regression in
ICE-2231. (svn revision 18059, com.icesoft.faces.component.menubar.MenuItems) Fix there may solve this problem as well.