Come estendere un metodo protetto in Clojure
Domanda
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import clojure.lang.RT;
import com.vaadin.Application;
import com.vaadin.terminal.gwt.server.AbstractApplicationServlet;
public class Clojure4Vaadin extends AbstractApplicationServlet {
@Override
protected Class<? extends Application> getApplicationClass()throws ClassNotFoundException {
return Application.class;
}
.... Some code .....
}
Come scrivere questo in Clojure?
Sto cercando di scrivere la classe vaadin srvlet
in clojure:
Soluzione
Penso che quello che stai cercando è il seguente:
(def Clojure4Vaadin
(proxy [com.vaadin.terminal.gwt.server.AbstractApplicationServlet] []
(getApplicationClass [] com.vaadin.Application)))
Date un'occhiata alla documentazione di delega.
Altri suggerimenti
Il codice che hai dato di cui sopra è usato per servire una webapp scritto in clojure tramite il quadro Vaadin. Questo codice è pensato per essere eseguito come Java Servlet come è e la logica webapp sarebbe nel codice clojure (test.tlp), si dovrà compilare il servlet e del pacchetto con lo script clojure nella directory principale webapp.
Saluti, Shanmu
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow