RE: Re: Get object form Parameters
Thank very much!!! :) -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Eyal Golan Sent: 2008年9月27日 21:33 To: users@wicket.apache.org Subject: Re: Re: Get object form Parameters On Sat, Sep 27, 2008 at 8:38 AM, fish3934 <[EMAIL PROTECTED]> wrote: > How to pass id and got that object from that id? Instead of: PageParameters para=new PageParameters(); para.put("result",resultList); do somethig like this: para.put("listId", resultListId); Where the resultListID is the ID that you can retrieve your list afterwords (from a DAO or whatever). Then in the other page instead of: List list = (List)param.get("result"); Do: Integer id = param.getInt("listId"); // If I have a typo error please excuse me, I'm not near an IDE now. List list = myDao.getList(id); > I am sorry,I learned wicket just a few days.Is there any other ways to > pass an object form one page to another page? Yes, You can make your other page not bookmarkable and pass the object (in your case the list) in the constructor. public class MyPage extends WebPage { public MyPage(List inputList) { ... You can even make this page to have several constructors. One that gets a List and one that gets PageParameters. -- Eyal Golan [EMAIL PROTECTED] Visit: http://jvdrums.sourceforge.net/ LinkedIn: http://www.linkedin.com/in/egolan74 P Save a tree. Please don't print this e-mail unless it's really necessary - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Re: Get object form Parameters
On Sat, Sep 27, 2008 at 8:38 AM, fish3934 <[EMAIL PROTECTED]> wrote: > How to pass id and got that object from that id? Instead of: PageParameters para=new PageParameters(); para.put("result",resultList); do somethig like this: para.put("listId", resultListId); Where the resultListID is the ID that you can retrieve your list afterwords (from a DAO or whatever). Then in the other page instead of: List list = (List)param.get("result"); Do: Integer id = param.getInt("listId"); // If I have a typo error please excuse me, I'm not near an IDE now. List list = myDao.getList(id); > I am sorry,I learned wicket just a few days.Is there any other ways to pass > an object form one page to another page? Yes, You can make your other page not bookmarkable and pass the object (in your case the list) in the constructor. public class MyPage extends WebPage { public MyPage(List inputList) { ... You can even make this page to have several constructors. One that gets a List and one that gets PageParameters. -- Eyal Golan [EMAIL PROTECTED] Visit: http://jvdrums.sourceforge.net/ LinkedIn: http://www.linkedin.com/in/egolan74 P Save a tree. Please don't print this e-mail unless it's really necessary
Re:Re: Get object form Parameters
OH.Thinks for the reply. Yes,I can get a string through parameter. How to pass id and got that object from that id? I am sorry,I learned wicket just a few days.Is there any other ways to pass an object form one page to another page? 在2008-09-27,"张伟" <[EMAIL PROTECTED]> 写道: >pass id, and then get that object from that id > >2008/9/27 Igor Vaynberg (DeviceEnquiry.java:16) >> > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native >> Method) >> > at java.lang.reflect.Constructor.newInstance(Constructor.java:494) >> > at >> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:147) >> > at >> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:88) >> > at >> org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.newPage(BookmarkablePageRequestTarget.java:268) >> > at >> org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.getPage(BookmarkablePageRequestTarget.java:283) >> > at >> org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.processEvents(BookmarkablePageRequestTarget.java:210) >> > at >> org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:91) >> > at >> org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1171) >> > at org.apache.wicket.RequestCycle.step(RequestCycle.java:1248) >> > at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1349) >> > at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) >> > at >> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:387) >> > at >> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:199) >> > at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) >> > at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) >> > at >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) >> > at >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) >> > at >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) >> > at >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) >> > at >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) >> > at >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) >> > at >> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) >> > at >> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) >> > at >> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) >> > at >> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) >> > at >> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) >> > at java.lang.Thread.run(Thread.java:595) >> > >> > Complete stack: >> > >> > org.apache.wicket.WicketRuntimeException: Can't instantiate page using >> constructor public >> com.hk.xportal.xseries.enquiry.DeviceEnquiry(org.apache.wicket.PageParameters) >> and argument result = "[EMAIL PROTECTED], >> [EMAIL PROTECTED], >> [EMAIL PROTECTED], >> [EMAIL PROTECTED], >> [EMAIL PROTECTED], >> [EMAIL PROTECTED], >> [EMAIL PROTECTED], >> [EMAIL PROTECTED], >> [EMAIL PROTECTED], >> [EMAIL PROTECTED]" >> > at >> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:168) >> > at >> org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:88) >> > at >> org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.newPage(BookmarkablePageRequestTarget.java:268) >> > at >> org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.getPage(BookmarkablePageRequestTarget.java:283) >> > at >> org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.processEvents(BookmarkablePageRequestTarget.java:210) >> > at >> org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:91) >> > at >> org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1171) >> > at org.apache.wicket.RequestCycle.step(RequestCycle.java:1248) >> > at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1349) >> > at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) >> > at >> org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:387) >> > >> > // >> > >> > >> > >> >> - >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >>
Re: Get object form Parameters
pass id, and then get that object from that id 2008/9/27 Igor Vaynberg <[EMAIL PROTECTED]> > pageparameters is used for passing parameters on the url, so it only > supports strings or whatever you can convert to a string. > > -igor > > On Fri, Sep 26, 2008 at 9:35 PM, fish3934 <[EMAIL PROTECTED]> wrote: > > Hi All, > >I wanted to pass an object from one page to another page,so > >I set an object into a parameter: > >PageParameters para=new PageParameters(); > >para.put("result",resultList);//resultList is a List contains some > pojo. > >//jump to another page > >setResponsePage(DeviceEnquiry.class,para); > > > >Then at DeviceEnquiry.java ,I want to get resultList: > >class DeviceEnquiry extends WebPage > >{ > > public DeviceEnquiry (PageParameters param) > > { > > List list = (List)param.get("result"); > > // > >} > > } > > > > But I got an exception: > > > > > > WicketMessage: Can't instantiate page using constructor public > com.hk.xportal.xseries.enquiry.DeviceEnquiry(org.apache.wicket.PageParameters) > and argument result = "[EMAIL PROTECTED], > [EMAIL PROTECTED], > [EMAIL PROTECTED], > [EMAIL PROTECTED], > [EMAIL PROTECTED], > [EMAIL PROTECTED], > [EMAIL PROTECTED], > [EMAIL PROTECTED], > [EMAIL PROTECTED], > [EMAIL PROTECTED]" > > > > Root cause: > > > > java.lang.ClassCastException: [Ljava.lang.String; > > at > com.hk.xportal.xseries.enquiry.DeviceEnquiry.(DeviceEnquiry.java:16) > > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > Method) > > at java.lang.reflect.Constructor.newInstance(Constructor.java:494) > > at > org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:147) > > at > org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:88) > > at > org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.newPage(BookmarkablePageRequestTarget.java:268) > > at > org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.getPage(BookmarkablePageRequestTarget.java:283) > > at > org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.processEvents(BookmarkablePageRequestTarget.java:210) > > at > org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:91) > > at > org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1171) > > at org.apache.wicket.RequestCycle.step(RequestCycle.java:1248) > > at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1349) > > at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) > > at > org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:387) > > at > org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:199) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) > > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) > > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) > > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) > > at > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) > > at > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) > > at > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) > > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) > > at java.lang.Thread.run(Thread.java:595) > > > > Complete stack: > > > > org.apache.wicket.WicketRuntimeException: Can't instantiate page using > constructor public > com.hk.xportal.xseries.enquiry.DeviceEnquiry(org.apache.wicket.PageParameters) > and argument result = "[EMAIL PROTECTED], > [EMAIL PROTECTED], > [EMAIL PROTECTED], > [EMAIL PROTECTED], > [EMAIL PROTECTED], > [EMAIL PROTECTED], > [EMAIL PROTECTED], > [EMAIL PROTECTED], > [EMAIL PROTECTED], > [EMAIL PROTECTED]" > > at > org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:168) > > at > org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:88) > > at > org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.newPage(BookmarkablePageRequestTarget.java:268) > > at > org.apache.wicket.reques
Re: Get object form Parameters
pageparameters is used for passing parameters on the url, so it only supports strings or whatever you can convert to a string. -igor On Fri, Sep 26, 2008 at 9:35 PM, fish3934 <[EMAIL PROTECTED]> wrote: > Hi All, >I wanted to pass an object from one page to another page,so >I set an object into a parameter: >PageParameters para=new PageParameters(); >para.put("result",resultList);//resultList is a List contains some pojo. >//jump to another page >setResponsePage(DeviceEnquiry.class,para); > >Then at DeviceEnquiry.java ,I want to get resultList: >class DeviceEnquiry extends WebPage >{ > public DeviceEnquiry (PageParameters param) > { > List list = (List)param.get("result"); > // >} > } > > But I got an exception: > > > WicketMessage: Can't instantiate page using constructor public > com.hk.xportal.xseries.enquiry.DeviceEnquiry(org.apache.wicket.PageParameters) > and argument result = "[EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL > PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL > PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED]" > > Root cause: > > java.lang.ClassCastException: [Ljava.lang.String; > at > com.hk.xportal.xseries.enquiry.DeviceEnquiry.(DeviceEnquiry.java:16) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at java.lang.reflect.Constructor.newInstance(Constructor.java:494) > at > org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:147) > at > org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:88) > at > org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.newPage(BookmarkablePageRequestTarget.java:268) > at > org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.getPage(BookmarkablePageRequestTarget.java:283) > at > org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.processEvents(BookmarkablePageRequestTarget.java:210) > at > org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:91) > at > org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1171) > at org.apache.wicket.RequestCycle.step(RequestCycle.java:1248) > at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1349) > at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) > at > org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:387) > at > org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:199) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) > at > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) > at > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) > at > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) > at java.lang.Thread.run(Thread.java:595) > > Complete stack: > > org.apache.wicket.WicketRuntimeException: Can't instantiate page using > constructor public > com.hk.xportal.xseries.enquiry.DeviceEnquiry(org.apache.wicket.PageParameters) > and argument result = "[EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL > PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL > PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED]" > at > org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:168) > at > org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:88) > at > org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.newPage(BookmarkablePageRequestTarget.java:268) > at > org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.getPage(BookmarkablePageRequestTarget.java:283) > at > org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.processEvents(BookmarkablePageRequestTarget
Get object form Parameters
Hi All, I wanted to pass an object from one page to another page,so I set an object into a parameter: PageParameters para=new PageParameters(); para.put("result",resultList);//resultList is a List contains some pojo. //jump to another page setResponsePage(DeviceEnquiry.class,para); Then at DeviceEnquiry.java ,I want to get resultList: class DeviceEnquiry extends WebPage { public DeviceEnquiry (PageParameters param) { List list = (List)param.get("result"); // } } But I got an exception: WicketMessage: Can't instantiate page using constructor public com.hk.xportal.xseries.enquiry.DeviceEnquiry(org.apache.wicket.PageParameters) and argument result = "[EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED]" Root cause: java.lang.ClassCastException: [Ljava.lang.String; at com.hk.xportal.xseries.enquiry.DeviceEnquiry.(DeviceEnquiry.java:16) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:494) at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:147) at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:88) at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.newPage(BookmarkablePageRequestTarget.java:268) at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.getPage(BookmarkablePageRequestTarget.java:283) at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.processEvents(BookmarkablePageRequestTarget.java:210) at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:91) at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1171) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1248) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1349) at org.apache.wicket.RequestCycle.request(RequestCycle.java:493) at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:387) at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:199) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:595) Complete stack: org.apache.wicket.WicketRuntimeException: Can't instantiate page using constructor public com.hk.xportal.xseries.enquiry.DeviceEnquiry(org.apache.wicket.PageParameters) and argument result = "[EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED]" at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:168) at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:88) at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.newPage(BookmarkablePageRequestTarget.java:268) at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.getPage(BookmarkablePageRequestTarget.java:283) at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.processEvents(BookmarkablePageRequestTarget.java:210) at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:91) at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1171) at org.apache.wicket.RequestCycle.step(RequestCycle.java:1248) at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1