Newsgroup: it.comp.java
Titolo: Jsp Condivisa ?

Saluti
ecco un quesito:
ho una Jsp che svolge la funzione di editor per un certo tipo di
file...
Nelle mie applicazioni Web vorrei usare questa Jsp ma non copiarla
ogni volta, vorrei usarne una "condivisa" come si fa, esempio, con
i .jar
vorrei centralizzarla insomma, averne una e richiamarla nelle varie
applicazioni.
Farne un Tag è arduo perchè si tratta di un 500 righe di codice e
dovrei riscriverle nella Classe..
poco manutenibile...
Farne un Servlet stesso problema...
idee ?
grazie 1000
saluti
:O)

 ha  
scritto:

jsp:import o jsp:forward?
-- 
Manny Calavera
Mail To: anforagimailpuntocom²
Uccidete i filosofi, tenetevi riso e bacchette per voi

 jsp:import o jsp:forward?
Così risolvi il problema di riutilizzare una jsp all'interno di UNA 
applicazione web, ma non credo che sia questo il suo problema.
Lui vuole riutilizzare una (o più) jsp in più applicazioni web.
Se si trattasse di una classe preparerebbe un bel jar da includere sotto 
WEB-INF/lib su ogni webapp e la festa è fatta.
Con le jsp invece è costretto a copiare i file su tutti i progetti con i 
problemi di allineamento che ne conseguono.
Finché si tratta di una singola jsp non è un gran problema, ma quando si 
tratta di molte jsp il problema diventa enorme.
Nel mio lavoro ho a che fare con alcune decine di moduli, composti sia 
da classi che da jsp, con svariate dipendenze tra i moduli stessi. 
Abbiamo avuto grosse difficoltà a gestire la situazione (e purtroppo per 
Rsorrt la nostra soluzione non è applicabile in altri contesti).
Andrea

 applicazione web, ma non credo che sia questo il suo problema.
Ammetto di aver letto la richiesta un po' troppo velocemente.
Scusate.
Renderla disponibile come webapp neanche a parlarne?


 poco manutenibile...
ah, perchè invece una jsp con 500 righe di codice sarebbe manutenibile? mi
vengono le bolle a pensarci... 8-O
premesso che la tua è una pessima idea, comunque:
getServletConfig().getServletContext().
getRequestDispatcher("/path/to/jsp.jsp").forward(request,response);
dentro le tue servlet, e chiami la tua jsp da qualsiasi webapp e ovunque
sia.


Saluti
grazie per la risposta
ma ho un dubbio
ll "/path/to/jsp" deve essere relativo all'applicazione in cui gira il
Servlet
allora la jsp in questione deve essere dentro l'applicazione in cui
risiede il Servlet.
Ossia il servlet e la jsp sono nella stessa applicazione... che è
quello che vorrei evitare.
Probabilmente mi sbaglio.... mi puoi, risolvere il dubbio ?
Inoltre, visto che consideri sbagliato questo approccio hai un
suggerimento per uno migliore ?
Quello che volevo era:
supponiamo di avere l'applicazione PIPPO.
La mia jsp deve aprire un certo tipo di file che si trova dentro
l'applicazione PIPPO (localmente), farne il parsing e presentare
all'utente il file in una certa forma in modo che l'utente possa
modificare facilmente il contenuto e non debba sapere dove si trova il
file ne andarlo ad aprire a mano con un editor di testo.
L'app originaria dell'editor è strutturata in varie pagine jsp ed
ognuna è facilmente manutenibile, ha poco codice ed è facilmente
leggibile.
Ho riunito tutto in una unica jsp perchè non volevo stare a ricopiare
l'intera struttura per ogni applicazione... meglio una pagina sola...
che poi è facilmente manutenibile lo stesso perchè è scritta bene ed,
inoltre, mi sono espresso male...
le 500 righe sono per la maggior parte di codice HTML e Javascript,
100 righe solo di Javascript...
il JSP saranno 50 righe...
L'editor è molto orientato ad offrire una certa interfaccia grafica
all'utente.
Il problema è:
come, in diverse Webapp, si possa evitare, di ricopiare la pagina
jsp.... perchè se decido di cambiare la pagina, e ho 10 applicaz. che
la usano, allora devo sovrascrivere 10 file.
I metodi che usa la jsp sono tutti in una classe che ho già
centralizzato in Tomcat, quindi una parte è già centralizzara invero.
Io però vorrei centralizzare l'applicazione.
L'ottimo sarebbe poter creare un Tag <miaLib:editor file=nomeFile/>
ma non vedo altro modo che creare una Servlet in cui editare,
hardcode, l'HTML e il Javascript e la parte jsp.
Grazie 1000 per ogni suggerimento, idea... tutto
:O)
bye

Il mio problema in realtà non si poneva
posso chiamare la mia APP_EDITOR (in cui gira l'editor) da qualsiasi
altra APP_PIPPO semplicemente con un Link
passandogli come parametro (in get o in post) il percorso assoluto del
mio file da editare all'interno di APP_PIPPO.
Ovviamente occorre che APP EDITOR e APP_PIPPO girino sulla stessa
macchina quindi sullo stesso filesystem.
Visto poi che i file da editare sono sempre, in tutte le mie APP nel
solito posto, non occorre neppure che gli passi niente.
:O)
In pratica... l'acqua calda...!!