The recorded video of the first ever ZK Webinar which was held last Thursday 2nd June with great response from the ZK community is now available for those who were unable to attend at:
[youtube]4oKHSG5ro84[/youtube]
Here are the webinar slides: Best Practice of using ZK with JSP
And here is the sample code: messageboard
I have created a small application to demonstrate how users can use ZK with JSP.
Combining the two technologies, you can implement native HTML with highly customizable styling to gain a lot of static content benefits from plain old JSP while also leveraging the whole power of ZK’s rich widget sets and handling long operations asynchronously through the ZK Event Driven Programming Model.
This combination can help purify your application’s presentation side architecture and make it easier to refactor, extend and understand by other developers. On top of this, I have also introduced some designing patterns and useful APIs for programming using ZK.
Thanks for watching, and please feel free to give me any advice!
Awesome!
Thanks for sharing.
(I didn’t even know that this blog existed :0))
Good webinar material!
Hope you promote more webinar soon.
Thank you for share.
Great job! Ian !
that’s great .. eager for your next webinar
First attempt to deploy this to Google App Engine failed. Adding serialized objects did display the message board but the Join button does not respond. Will have another look at it – but nice if ZK makes a Cloud ready sample too 😉
type Informe de Excepción
mensaje
descripción El servidor encontró un error interno () que hizo que no pudiera rellenar este requerimiento.
excepción
org.apache.jasper.JasperException: org.zkoss.zk.ui.UiException: javax.servlet.jsp.JspException: javax.servlet.jsp.JspException: javax.servlet.jsp.JspException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:500)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:428)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
causa raíz
org.zkoss.zk.ui.UiException: javax.servlet.jsp.JspException: javax.servlet.jsp.JspException: javax.servlet.jsp.JspException: java.lang.NullPointerException
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
java.lang.reflect.Constructor.newInstance(Unknown Source)
org.zkoss.lang.Classes.newInstance(Classes.java:76)
org.zkoss.lang.Exceptions.wrap(Exceptions.java:162)
org.zkoss.zk.ui.UiException$Aide.wrap(UiException.java:44)
org.zkoss.jsp.zul.impl.RootTag$MyRichlet.service(RootTag.java:328)
org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage0(UiEngineImpl.java:418)
org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage(UiEngineImpl.java:302)
org.zkoss.jsp.zul.impl.RootTag.doTag(RootTag.java:275)
org.apache.jsp.index_jsp._jspx_meth_z_005fpage_005f2(index_jsp.java:435)
org.apache.jsp.index_jsp._jspService(index_jsp.java:217)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
causa raíz
javax.servlet.jsp.JspException: javax.servlet.jsp.JspException: javax.servlet.jsp.JspException: java.lang.NullPointerException
org.apache.jsp.index_jsp$Helper.invoke(index_jsp.java:774)
org.zkoss.jsp.zul.impl.RootTag$MyRichlet.service(RootTag.java:320)
org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage0(UiEngineImpl.java:418)
org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage(UiEngineImpl.java:302)
org.zkoss.jsp.zul.impl.RootTag.doTag(RootTag.java:275)
org.apache.jsp.index_jsp._jspx_meth_z_005fpage_005f2(index_jsp.java:435)
org.apache.jsp.index_jsp._jspService(index_jsp.java:217)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
causa raíz
javax.servlet.jsp.JspException: javax.servlet.jsp.JspException: java.lang.NullPointerException
org.zkoss.jsp.zul.impl.LeafTag.doCatch(LeafTag.java:140)
org.zkoss.jsp.zul.impl.LeafTag.doTag(LeafTag.java:129)
org.apache.jsp.index_jsp._jspx_meth_z_005fdiv_005f2(index_jsp.java:454)
org.apache.jsp.index_jsp.access$3(index_jsp.java:440)
org.apache.jsp.index_jsp$Helper.invoke3(index_jsp.java:658)
org.apache.jsp.index_jsp$Helper.invoke(index_jsp.java:752)
org.zkoss.jsp.zul.impl.RootTag$MyRichlet.service(RootTag.java:320)
org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage0(UiEngineImpl.java:418)
org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage(UiEngineImpl.java:302)
org.zkoss.jsp.zul.impl.RootTag.doTag(RootTag.java:275)
org.apache.jsp.index_jsp._jspx_meth_z_005fpage_005f2(index_jsp.java:435)
org.apache.jsp.index_jsp._jspService(index_jsp.java:217)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
causa raíz
javax.servlet.jsp.JspException: java.lang.NullPointerException
org.zkoss.jsp.zul.impl.ComposerHandler.doAfterCompose(ComposerHandler.java:92)
org.zkoss.jsp.zul.impl.LeafTag.afterComposeComponent(LeafTag.java:299)
org.zkoss.jsp.zul.impl.LeafTag.doTag(LeafTag.java:126)
org.apache.jsp.index_jsp._jspx_meth_z_005fdiv_005f2(index_jsp.java:454)
org.apache.jsp.index_jsp.access$3(index_jsp.java:440)
org.apache.jsp.index_jsp$Helper.invoke3(index_jsp.java:658)
org.apache.jsp.index_jsp$Helper.invoke(index_jsp.java:752)
org.zkoss.jsp.zul.impl.RootTag$MyRichlet.service(RootTag.java:320)
org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage0(UiEngineImpl.java:418)
org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage(UiEngineImpl.java:302)
org.zkoss.jsp.zul.impl.RootTag.doTag(RootTag.java:275)
org.apache.jsp.index_jsp._jspx_meth_z_005fpage_005f2(index_jsp.java:435)
org.apache.jsp.index_jsp._jspService(index_jsp.java:217)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
causa raíz
java.lang.NullPointerException
java.util.ArrayList.(Unknown Source)
org.zkoss.zul.ListModelList.(ListModelList.java:83)
demo.AttendeesPanelViewCtrl.doAfterCompose(AttendeesPanelViewCtrl.java:52)
org.zkoss.jsp.zul.impl.ComposerHandler.doAfterCompose(ComposerHandler.java:90)
org.zkoss.jsp.zul.impl.LeafTag.afterComposeComponent(LeafTag.java:299)
org.zkoss.jsp.zul.impl.LeafTag.doTag(LeafTag.java:126)
org.apache.jsp.index_jsp._jspx_meth_z_005fdiv_005f2(index_jsp.java:454)
org.apache.jsp.index_jsp.access$3(index_jsp.java:440)
org.apache.jsp.index_jsp$Helper.invoke3(index_jsp.java:658)
org.apache.jsp.index_jsp$Helper.invoke(index_jsp.java:752)
org.zkoss.jsp.zul.impl.RootTag$MyRichlet.service(RootTag.java:320)
org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage0(UiEngineImpl.java:418)
org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage(UiEngineImpl.java:302)
org.zkoss.jsp.zul.impl.RootTag.doTag(RootTag.java:275)
org.apache.jsp.index_jsp._jspx_meth_z_005fpage_005f2(index_jsp.java:435)
org.apache.jsp.index_jsp._jspService(index_jsp.java:217)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
nota La traza completa de la causa de este error se encuentra en los archivos de diario de Apache Tomcat/6.0.32.