2017-10-16 4 views
1

Y at-il moyen d'utiliser Spring MVC pour obtenir le fichier html généré (à partir de son jsp d'origine)?Spring MVC: Un moyen d'obtenir le fichier html généré avant de l'envoyer au client?

Voir les commentaires ci-dessous

@Controller 
@RequestMapping(value = "/index") 
public class Router { 

    @RequestMapping(method = RequestMethod.GET) 
    public String details(..., ModelMap model) throws ApplicationServiceException { 
     //add attribute to model, change generated html from base jsp 
     model.addAttribute("test", "test"); 
     //instead of returning index.jsp (like below) ... 
     return "index"; 
     //...is it possible to get index.jsp (as it's generated html file) like such: 
     File html = new File("index.html"); 
    } 

} 

index.jsp:

<html> 
${test} 
</html> 

(généré) index.html: < - le fichier que je veux

<html> 
test 
</html> 

S'il vous plaît laissez-moi savoir si ma description n'est pas claire, l'anglais n'est pas ma langue maternelle alors je vais essayer d'expliquer mieux. Merci

+0

qu'est-ce que vous essayez d'accomplir en faisant cela? HTML a besoin de beaucoup d'autres choses comme css, javascripts etc, alors pourquoi ne déployez-vous pas votre code sur votre serveur local et voyez ce qui est généré? –

+0

Pourquoi auriez-vous besoin de cela? Laissez le résolveur de vue faire son travail. –

+0

Je vais envoyer le fichier html au client avec tous les fichiers js, css nécessaires dans un zip. D'où la raison pour laquelle j'en ai besoin en tant que fichier. @AmitKBist Je peux le déployer sur mon serveur local, et je l'ai, mais ce n'est pas comme ça que je le veux. – user2276831

Répondre

0

Cela dépend de la façon dont vous définissez "obtenir le fichier html généré".

Si vous ajoutez un filtre au fichier web.xml, le filtre verra la réponse avant qu'elle ne soit envoyée à l'utilisateur et après la sortie du gestionnaire (et après "conversion" de JSP en html).

Edit: Contourner

Si vous enveloppez l'objet de réponse dans une classe de votre propre (dans le filtre), vous pouvez changer la réponse (encore une fois, dans le filtre) après le gestionnaire.

+0

J'ai de nombreux filtres dans web.xml, est-il possible de contourner le fichier html après avoir quitté le filtre, mais avant qu'il ne soit envoyé au client? Ou bien, est-il possible de contourner entièrement le gestionnaire et de générer un fichier html à partir d'un fichier jsp en utilisant un nouveau modèle? – user2276831

+1

Il ne devrait pas y avoir de raison de "générer un fichier html à partir d'un fichier jsp en utilisant un nouveau modèle" dans le filtre. Il suffit de passer le bon modèle du gestionnaire. – DwB

+0

Salut, pouvez-vous fournir un petit extrait de code pour expliquer ce que vous voulez dire? Je suis assez nouveau au printemps, peut-être que j'ai mal compris la fonctionnalité du modèle. Pour être clair, je ne veux pas passer le fichier jsp/html directement dans le navigateur du client. – user2276831