public class ViewCartPage
{
....
    // Add feedback panel
        add(new FeedbackPanel("feedbackPanel", new
ComponentFeedbackMessageFilter(ViewCartPage.this)));

        ShoppingCart cart = ShoppingCartWorkerEx.getShoppingCart();
        int cartSize = cart.size();

        if (cartSize == 0)
            add(new Label("viewCartContainer", new
ResourceModel("Cart.empty.label", "Your Shopping Cart is empty")));
        else
            add(new CartDetailsFragment("viewCartContainer",
"cartDetailsFragment", this));
    }
    
    public class CartDetailsFragment
        extends Fragment
    {
        public static final long serialVersionUID = 1L;

        private List<CartItemVo> _cartItemVoList = FastList.<CartItemVo>
newInstance();

        public CartDetailsFragment(String id, String fragmentId,
MarkupContainer markupProvider)
        {
            super(id, fragmentId, markupProvider);
            populate();
        }

        private void populate()
        {
            _cartItemVoList =
ShoppingCartWorkerEx.getCartItemVoListFromSession();

            Form cartForm = new Form("cartForm", new Model(new
ViewCartWrapperModelObject(new ShippingOptionByCriteria(
                    null, null), _cartItemVoList)));
            add(cartForm);

            // Cart Header Toolbar
            cartForm.add(new CartActionToolbar("cartHeaderToolbar",
"cartActionToolbar", ViewCartPage.this, cartForm));

......
} // end cart detail fragment


    private class CartActionToolbar
        extends Fragment
    {

        public CartActionToolbar(String id, String markupId, MarkupContainer
markupProvider)
        {
            super(id, markupId, markupProvider);
            populate();
        }

        public void populate()
        {
            // Checkout button
            Button checkoutButton = new Button("checkoutButton", new
ResourceModel("CartForm.checkoutButton"))
            {
                public static final long serialVersionUID = 1L;

                @Override
                public void onSubmit()
                {
                    ...
                    setResponsePage(CheckoutPage.class);
                }
            };
            add(checkoutButton);
            LOG.info("!!!!!!!!!!!!!!!! Checkout button parent " +
checkoutButton.getParent() + " grand parent " +
                    checkoutButton.getParent().getParent() + " getForm() " +
checkoutButton.getForm() + 
                    " path " + checkoutButton.getPath());
            
checkoutButton.getForm().setDefaultButton(checkoutButton);



Edvin Syse wrote:
> 
> Please post the Java-code.
> 
> -- Edvin
> 
> Ritesh Trivedi skrev:
>> Hi,
>> 
>> I have a Page which contains Fragment (A) and which in turn contains
>> Fragment (B). Fragment B has a button. In Fragment B class if I do
>> button.getForm() I get null. I also tried button.getParent().getParent()
>> which should be a form - but it returns null as well.
>> 
>> Here is the markup
>> 
>> <body>
>>         <wicket:extend>
>>             <div class="subColumnHolder">
>>                 <div wicket:id="feedbackPanel"></div>
>>                 <div wicket:id="viewCartContainer">[Cart Contents
>> here]</div>
>>             </div>
>>             
>>             <wicket:fragment wicket:id="cartContentsFragment">
>>                 <h2>Your Shopping Cart</h2>
>>                 <p>Please review your shopping cart and press checkout to
>> proceed with your order</p>
>>                 <form wicket:id="cartForm">
>>                     <div class="actionButtons"
>> wicket:id="cartHeaderToolbar"></div> <-----Fragment cartActionToolbar
>> ....
>>                 </form>
>>             </wicket:fragment>
>>             <wicket:fragment wicket:id="cartActionToolbar">
>>                 <input wicket:id="checkoutButton" type="submit"
>> value="Checkout &lt;&lt;" class="button floatRight"/>    
>>                 ....
>>             </wicket:fragment>
>> 
>> I have corresponding java code to add components properly - can post if
>> needed.
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/getForm%28%29-on-a-component-inside-2nd-level-Fragment-returns-null--tp19166943p19169316.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to