I don't have much knowledge about Wicket. But AFAICS you got the output that I would expect: The Label instruction in the Java code sets the content of the span and the TextArea and Buton instructions doesn't give any visible results, but are probably added to your server side model, ready to take care of post data.

What output would you expect?

/Daniel

Gabriel Gruber skrev:

hmm, thanx Daniel that helped.

the url-context correctly redirects to the wicket-servlet. however it seems the xhtml wicket tags are not beeing rendered correctly by the wicket servlet.

the returned output is:
<?xml version='1.0' encoding='UTF-8'?>
<xhtml>
    <head>
        <title>Wicket Quickstart Archetype Homepage</title>
    </head>
    <body>
        <strong>Wicket Quickstart Archetype Homepage</strong>
        <br/><br/>
<span wicket:id="message">If you see this message wicket is properly configured and running</span>
        <br/><br/>
        Input field:<br/>
        <textarea wicket:id="yourinput" name="yourinput"></textarea>
        <br/>
<button wicket:id="PressMe" name="PressMe" id="PressMe1">Wegschicken</button>
    </body>
</xhtml>

which is actually the unmodified homepage.xml

my wicketpage.java looks like this:

import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.markup.html.form.TextArea;
import org.apache.wicket.markup.html.WebPage;

/**
 * Homepage
 */
public class HomePage extends WebPage {

        private static final long serialVersionUID = 1L;

        // TODO Add any page properties or variables here

    /**
* Constructor that is invoked when page is invoked without a session.
         *
         * @param parameters
         *            Page parameters
         */
    public HomePage(final PageParameters parameters) {

        // Add the simplest type of label
add(new Label("message", "If you see this message wicket is properly configured and running"));

// TODO Add your page's components here
        add(new TextArea("yourinput"));
        add(new Button("PressMe"));
    }
public String getMarkupType() {
            return "xml";
    }
}

any ideas? I recall some guys at the cocoon GT wanted to showcase a Wicket integration...

thanx in advance..

gabriel

______________________
Mag. Gabriel Gruber
Senior Consultant
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Workflow EDV GmbH, Dannebergplatz 6/23, A-1030 Wien
mailto:[EMAIL PROTECTED]
http://www.workflow.at


*Daniel Fagerstrom <[EMAIL PROTECTED]>*

11.10.2007 18:13
Please respond to
[email protected]


        
To
        [email protected]
cc
        
Subject
Re: Integration of Wicket Servlet within C2.2 Block with servlet service -> Problem


        





Gabriel Gruber skrev:
 >
 > Dear C2.2 Dev-Community!
 >
 > I just played around with Wicket and wanted to integrate a HelloWorld
 > Wicket application within a C2.2 Block as a servlet service:
 >
 > <beans xmlns="http://www.springframework.org/schema/beans";
 >   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
 >   xmlns:servlet="http://cocoon.apache.org/schema/servlet";
 >   xsi:schemaLocation="http://www.springframework.org/schema/beans
 > http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
 >   http://cocoon.apache.org/schema/servlet
 > http://cocoon.apache.org/schema/servlet/cocoon-servlet-1.0.xsd";>
> > <bean id="com.mycompany.block2.service"
 > class="org.apache.cocoon.sitemap.SitemapServlet">
 >     <servlet:context mount-path="/block2"
 > context-path="blockcontext:/block2/"/>
 >   </bean>
> > <bean id="com.mycompany.block2.wicketapp"
 > class="org.apache.wicket.protocol.http.WicketServlet">
 >     <servlet:init-params>
 >       <entry key="applicationClassName">
 >         <value>com.mycompany.WicketApplication</value>
 >       </entry>
 >     </servlet:init-params>
 >     <servlet:context mount-path="/block2-wicket"
 > context-path="blockcontext:/block2-wicket/"/>
 >   </bean>
> > </beans>
 >
 > While this seems generally ok, there seems to be a problem with the
 > spring namespacehandler for the servlet service tags. When i start
 > spring an exception is thrown like this...
 > Caused by:
 > org.springframework.beans.factory.BeanDefinitionStoreException: Unable
 > to read spring configurations from classpath*:META-INF/cocoon/spring;
 > nested exception is
 > org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
 > *Configuration problem: Cannot locate BeanDefinitionDecorator for
 > element [init-params]*

...
 > What is wrong here?
 >
 > Any suggestions?
The servlet:context element must be the root element of the elements in
the servlet: namespace. The error message basically sys that there is no
handler for the servlet:init-params as a  root element.

Modify the above  bean definition to:

 <bean id="com.mycompany.block2.wicketapp"
class="org.apache.wicket.protocol.http.WicketServlet">
   <servlet:context mount-path="/block2-wicket"
context-path="blockcontext:/block2-wicket/">
     <servlet:init-params>
       <entry key="applicationClassName">
         <value>com.mycompany.WicketApplication</value>
       </entry>
     </servlet:init-params>
   </servlet:context>
 </bean>

And see if it works.

/Daniel



Reply via email to