View Single Post
  #3 (permalink)  
Old 08-30-2009, 10:17 AM
mune72 mune72 is offline
Active Member
 
Posts: 34
Default

Quote:
Originally Posted by raj View Post
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
Reply With Quote