Quote:
Originally Posted by raj |
Thanks 4 the reply.
I've been able to execute a JSP:
a create a symbolic link from /home/<userdir>/public_html/zimbra to /home/<userdir>/zimbra
then a create in the _dev the dir org_munet_prova conteinig the files ciao.jsp newVideo.jsp org_munet_prova.xml zimlet.
js
In details
org_munet_prova.xml:
Code:
<zimlet name="org_munet_prova" version="1.0" description="JSP_Zimlet">
<include>zimlet.js</include>
<handlerObject>Org_munet_prova</handlerObject>
<zimletPanelItem label="Prova JSP Zimlet" icon="My-panelIcon">
<toolTipText>This is a super awesome zimlet that does something.</toolTipText>
<contextMenu>
<menuItem label="JSP Zimlet" id="JSPZimlet" icon="My-panelIcon">
<canvas type="window" title="prova" width="700" height="500" />
<actionUrl target="http://localhost/~mune" />
</menuItem>
</contextMenu>
</zimletPanelItem>
</zimlet> zimlet.
js Code:
function Org_munet_prova() {
}
Org_munet_prova.prototype = new ZmZimletBase();
Org_munet_prova.prototype.constructor = Org_munet_prova;
Org_munet_prova.init = function() {
};
// Called by the Zimbra framework when the panel item was double clicked
Org_munet_prova.prototype.doubleClicked = function() {
this.singleClicked();
};
// Called by the Zimbra framework when the panel item was clicked
Org_munet_prova.prototype.singleClicked = function() {
var url = this.getResource("ciao.jsp");
window.oppwin = window.open(url," oppwin", "menubar=no,width=0.1px,height=0.1px");
}; and finally ciao.jsp which merely prints "hello world"
Code:
<!-- prova.jsp -->
<html>
<body>
JSP -> <% out.println("Ciao Mondo!"); %>
</body>
</html> BUT
if ciao.jsp uses the directive taglib
Code:
<!-- prova.jsp -->
<%@ taglib uri="/WEB-INF/zimbra.tld" prefix="z" %>
<html>
<body>
JSP -> <% out.println("Ciao Mondo!"); %>
</body>
</html> when the browser opens the JSP page i get
Code:
HTTP ERROR: 500
INTERNAL_SERVER_ERROR
RequestURI=/service/zimlet/_dev/org_munet_prova/ciao.jsp
Caused by:
java.lang.NullPointerException
at org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:234)
at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:482)
at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:562)
at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1626)
at org.apache.jasper.compiler.Parser.parse(Parser.java:165)
at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:223)
at org.apache.jasper.compiler.ParserController.parse(ParserController.java:124)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:184)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:398)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:344)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:477)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:371)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
at com.zimbra.cs.zimlet.ZimletFilter.doFilter(ZimletFilter.java:204)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:716)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:406)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:211)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.handler.RewriteHandler.handle(RewriteHandler.java:176)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:313)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
The problem is half solved
