Cover image for Apache Wicket Cookbook.
Apache Wicket Cookbook.
Title:
Apache Wicket Cookbook.
Author:
Vaynberg, Igor.
ISBN:
9781849511612
Personal Author:
Edition:
1st ed.
Physical Description:
1 online resource (298 pages)
Contents:
Apache Wicket Cookbook -- Table of Contents -- Apache Wicket Cookbook -- Credits -- About the Author -- About the Reviewers -- www.PacktPub.com -- Support files, eBooks, discount offers and more -- Why Subscribe? -- Free Access for Packt account holders -- Preface -- What this book covers -- What you need for this book -- Who this book is for -- Conventions -- Reader feedback -- Customer support -- Downloading the example code -- Errata -- Piracy -- Questions -- 1. Validating and Converting User Input -- Introduction -- Performing form-level custom validation -- Getting ready -- How to do it... -- How it works... -- There's more... -- Making validation logic reusable -- See also -- Creating a custom validator -- Getting ready -- How to do it... -- How it works... -- There's more... -- Using Wicket's built-in error variables -- Using custom error variables -- See also -- Composing multiple validators into a single reusable validator -- Getting ready -- How to do it... -- How it works... -- There's more... -- Pitfalls of not encapsulating validation constraints -- Pitfalls of not externalizing validation constraints -- See also -- Converting string inputs to objects -- Getting ready -- How to do it... -- How it works... -- There's more... -- How automatic type conversion works -- Global converters -- More on resource strings -- See also -- 2. Getting Down and Dirty with Forms and Form Components -- Introduction -- Creating linked selectboxes -- Getting ready -- How to do it... -- How it works... -- There's more... -- How to trigger a change notification over AJAX -- Composing multiple form components into a single reusable component -- Getting ready -- How to do it... -- How it works... -- There's more... -- Changing the editor to work with a mutable model object -- Preventing multiple form submits -- Getting ready -- How to do it...

How it works... -- There's more... -- Understanding page versioning -- Protecting against spam with a CAPTCHA -- Getting ready -- How to do it... -- How it works... -- 3. Making Forms Presentable -- Introduction -- Changing form component CSS class on validation errors -- Getting ready -- How to do it... -- How it works... -- There's more... -- Automating component decoration -- Using FeedbackPanel to output form component specific messages -- Getting ready -- How to do it... -- How it works... -- Streamlining form component presentation using behaviors -- Getting ready -- How to do it... -- How it works... -- There's more... -- Making the decorator work with AJAX -- 4. Taking your Application Abroad -- Introduction -- Storing module resource strings in package properties -- Getting ready -- How to do it... -- How it works... -- There's more... -- Extending Wicket's resource loading -- Retrieving a localized string -- Getting ready -- How to do it... -- How it works... -- There's more... -- The Localizer -- Feeding dynamic localized strings to components using StringResourceModel -- Getting ready -- How to do it... -- How it works... -- Using wicket:message to output localized markup -- How to do it... -- How it works... -- Overriding localized resources on a case by case basis -- Getting ready -- How to do it... -- How it works... -- There's more... -- Debugging loading of resources -- How it works... -- 5. Displaying Data Using DataTable -- Introduction -- Sorting -- Getting ready -- How to do it... -- How it works... -- There's more... -- Adding sort direction indicators via CSS -- Filtering -- Getting ready -- How to do it... -- How it works... -- There's more... -- Sorting database data -- Making cells clickable -- Getting ready -- How to do it... -- How it works... -- Making rows selectable with checkboxes -- Getting ready -- How to do it...

How it works... -- There's more... -- Adding select/deselect all checkbox -- Exporting data to CSV -- Getting ready -- How to do it... -- How it works... -- There's more... -- Moving data export to a toolbar -- 6. Enhancing your UI with Tabs and Borders -- Introduction -- Creating tabs with dynamic titles -- Getting ready -- How to do it... -- How it works... -- There's more... -- Optimizing retrieval of item count -- Making a tabbed panel play nice with forms -- Getting ready -- How to do it... -- How it works... -- There's more... -- Making TabbedPanel more form friendly -- Creating a client-side JavaScript tabbed panel -- Getting ready -- How to do it... -- How it works... -- Using borders to decorate components -- Getting ready -- How to do it... -- How it works... -- There's more... -- Making stylesheets configurable -- Creating a collapsible border -- Getting ready -- How to do it... -- How it works... -- There's more... -- Collapsing the border with AJAX -- 7. Deeper into Ajax -- Introduction -- Adding Ajax validation to individual form components -- Getting ready -- How to do it... -- How it works... -- There's more... -- Simplifying AJAX validation -- Blocking until an Ajax request is complete -- Getting ready -- How to do it... -- How it works... -- There's more... -- Using a mask to visibly block the UI -- Providing Ajax feedback automatically -- Getting ready -- How to do it... -- How it works... -- There's more... -- Limiting form processing to validation only -- 8. Visualizing Data with Charts -- Introduction -- Charting with Open Flash Chart -- Getting ready -- How to do it... -- How it works... -- There's more... -- A better way to write strings -- Extracting useful code into reusable blocks -- Feeding chart data using a SharedResource -- Getting ready -- How to do it... -- How it works... -- There's more...

Using DynamicWebResource to serve data -- Responding to clicks -- Getting ready -- How to do it... -- How it works... -- There's more... -- Adding support for multiple graphs -- 9. Building Dynamic and Rich UI -- Introduction -- Swapping components using a select box -- Getting ready -- How to do it... -- How it works... -- There's more... -- Swapping panels with AJAX -- Creating dynamic forms -- Getting ready -- How to do it... -- How it works... -- There's more... -- Adding select box support to DynaForm -- Creating a dynamic portal layout -- Getting ready -- How to do it... -- How it works... -- There's more... -- Disabling out-of-bound links -- 10. Securing your Application -- Introduction -- Creating a login page and forcing the user to log in -- How to do it... -- How it works... -- There's more... -- Securing only subsets of pages -- Taking advantage of a base class -- Authenticating with OpenID -- Getting ready -- How to do it... -- How it works... -- Securing components using IAuthorizationStrategy -- Getting ready -- How to do it... -- How it works... -- There's more... -- Internalizing permissions in subclasses -- Securing URLs and protecting against cross-site request forgery -- Getting ready -- How to do it... -- How it works... -- Switching from HTTP to HTTPS and back again -- Getting ready -- How to do it... -- How it works... -- There's more... -- More Info Section 1 -- 11. Integrating Wicket with Middleware -- Introduction -- Integrating with Spring -- Getting ready -- How to do it... -- How it works... -- There's more... -- Injecting non-components -- Integrating with CDI -- Getting ready -- How to do it... -- How it works... -- There's more... -- Injecting non-component classes -- Populating repeaters from a JPA query -- Getting ready -- How to do it... -- How it works... -- There's more... -- Sorting with IDataProvider.

Creating a model for a JPA entity -- Getting ready -- How to do it... -- How it works... -- There's more... -- Improving entity class resolution -- A simpler data provider -- Index.
Abstract:
Master Wicket by example by implementing real-life solutions to every day tasks.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Electronic Access:
Click to View
Holds: Copies: