On Sun, Jul 24, 2011 at 5:40 PM, Michael Petritsch
<michael.petrit...@gmail.com> wrote:
> Yes, I removed the visibility related code and anything else for
> simplicity and to focus on the actual problem.
>
> What I actually want to achieve is something like:
>
> public class MyPanel extends Panel {
>  Panel myAjaxLoadedPanel;
>  public MyPanel() {
>   add(new AbstractDefaultAjaxBehavior() {
Still not clear why you use directly this behavior but you know better :-)
>           @Override
>           protected void respond(AjaxRequestTarget target) {
>             String someParameter =
> RequestCycle.get().getRequest().getParameter("someParameter");
>             if(someParameter.equals("1") {
reverse the check here to avoid NPE
>                myAjaxLoadedPanel = new Foo1Panel("myAjaxLoadedPanel");
>             }
>             ...
>             else {
>                myAjaxLoadedPanel = new FooXPanel("myAjaxLoadedPanel");
>             }
>             target.addComponent(myAjaxLoadedPanel);
>           }
>   }
>   myAjaxLoadedPanel = new MyDefaultPanel("myAjaxLoadedPanel");
>   myAjaxLoadedPanel.setOutputMarkupId(true);
>   add(myAjaxLoadedPanel);
> }
The problem that I see is that you just re-assign the panel. Better
see org.apache.wicket.Component.replaceWith(Component) and
org.apache.wicket.MarkupContainer.replace(Component). These methods
preserve the component hierarchy, i.e. the new assignment will
inherits its parent (MyPanel.this) from the old assignment.

What is the actual problem ? Sorry, but I didn't follow this thread before.

>
> On Sun, Jul 24, 2011 at 4:16 PM, Martin Grigorov <mgrigo...@apache.org> wrote:
>> On Sun, Jul 24, 2011 at 5:10 PM, Michael Petritsch
>> <michael.petrit...@gmail.com> wrote:
>>> I am using wicket 1.4.16, the markupplaceholder is there (checked with 
>>> firebug).
>>>
>>> I have also tried it with a simple visible label:
>>>
>>> public class MyPanel extends Panel {
>>>  Label myUpdatedLabel;
>>>  public MyPanel() {
>>>    add(new AbstractDefaultAjaxBehavior() {
>> Why do you use this behavior but not a more specific one ? E.g.
>> AjaxEventBehavior.
>>>            @Override
>>>            protected void respond(AjaxRequestTarget target) {
>>>              myUpdatedLabel.setDefaultModel("bar");
>>>              target.addComponent(myUpdatedLabel);
>>>            }
>>>    }
>>>    myUpdatedLabel = new Label("myLabel","foo");
>>>    myUpdatedLabel.setOutputMarkupId(true);
>>>    add(myUpdatedLabel);
>>> }
>>>
>>> This works, however what I actually have to do in the response()
>>> method is the following:
>>> myUpdatedLabel = new Label("myLabel","bar");
>>> myUpdatedLabel.setOuputMarkupId(true);
>>> target.addComponent(myUpdatedLabel);
>> What you really want is:
>> myUpdatedLabel.setDefaultModelObject("bar");
>> target.addComponent(myUpdatedLabel);
>>>
>>> But when I try this nothing happens. The html of the label remains
>>> untouched: <div id="myLabeld" wicket:id="myLabel">foo</div>
>> setOutputMarkupPlaceholderTag(true) is needed only if you change the
>> visibility of Ajax updated component. I don't see visibility related
>> logic in your code.
>>
>> What exactly you want to achieve ?
>>>
>>> On Mon, Jul 18, 2011 at 4:59 AM, msj121 <msj...@gmail.com> wrote:
>>>> I am not sure if it is still true, but if you have the label added, just 
>>>> the
>>>> visibility is false from the beginning, then in older versions of wicket it
>>>> would not actually put the component, even the placeholder. I dealt with
>>>> this before, but I think in newer versions presumably this was changed....
>>>> In theory a good way to check if this is an issue is to setvisible to true
>>>> in the beginning and alternate.
>>>>
>>>>
>>>> If your trying to add a new markup that never existed in html to the page,
>>>> it should throw an error, and then you will need to use ListViews etc... as
>>>> described above.
>>>>
>>>> --
>>>> View this message in context: 
>>>> http://apache-wicket.1842946.n4.nabble.com/Loading-wicket-components-from-javascript-tp3673381p3674372.html
>>>> Sent from the Users forum mailing list archive at Nabble.com.
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>
>>>
>>
>>
>>
>> --
>> Martin Grigorov
>> jWeekend
>> Training, Consulting, Development
>> http://jWeekend.com
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>



-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to