SeamFramework.orgCommunity Documentation
The seam-wicket.jar
should be placed in the web application library folder. If you are using
Maven as your build tool, you can add the
following dependency to your pom.xml
file:
<dependency>
<groupId>org.jboss.seam.wicket</groupId>
<artifactId>seam-wicket</artifactId>
<version>${seam-wicket-version}</version>
</dependency>
Replace ${seam-wicket-version}
with the most recent or appropriate version of Seam for Apache Wicket.
As Wicket is normally used in a servlet (non-JavaEE) environment, you most likely will need to bootstrap the CDI container yourself. This is most easily accomplished using the Weld Servlet integration, described in the Weld Reference Guide.
You must extend org.jboss.seam.wicket.SeamApplication
rather than
org.apache.wicket.protocol.http.WebApplication
. In addition:
newRequestCycleProcessor()
to return your own IRequestCycleProcessor
subclass, you must instead override getWebRequestCycleProcessorClass()
and return the class of your processor,
and your processor must extend SeamWebRequestCycleProcessor
.newRequestCycle
to return your own RequestCycle
subclass, you must
make that subclass extend SeamRequestCycle
.
If you can't extend SeamApplication
, for example if you use an alternate Application
superclass
for which you do not control the source, you can duplicate the three steps SeamApplication
takes, i.e. return a
SeamWebRequestCycleProcessor
NonContextual instance in newRequestCycleProcessor()
, return a
SeamRequestCycle
instance in newRequestCycle()
, and add a
SeamComponentInstantiationListener
with addComponentInstantiationListener()
.