Est-il possible de faire en sorte que les pages JSP ne définissent aucun type de contenu en réponse? Dans ma configuration, JSP ne génère pas directement la réponse, mais plutôt une présentation intermédiaire, qui est ensuite traitée par un code Java supplémentaire qui crée du HTML ou du JSON sur cette base. Donc, puis-je en quelque sorte rendre JSP pas définir le type de contenu sur la réponse et le laisser au code intermédiaire? Si je supprime simplement contentType="..."
dans une JSP, il reste par défaut à text/html
.Création d'une page JSP impossible de définir le type de contenu de réponse
Répondre
Vous pouvez faire en sorte qu'il ignore le type de contenu défini par la page JSP. Cela serait-il suffisant?
Comment faites-vous la plomberie?
L'idée de base serait d'implémenter un ServletResponseWrapper, de remplacer l'appel à setContentType, puis d'utiliser un filtre pour transmettre cette réponse à la JSP plutôt qu'à la vraie.
ResponseWrapperToIgnoreContentType.java
import javax.servlet.ServletResponse;
import javax.servlet.ServletResponseWrapper;
public class ResponseWrapperToIgnoreContentType extends ServletResponseWrapper{
public ResponseWrapperToIgnoreContentType(final ServletResponse response) {
super(response);
}
@Override
public void setContentType(final String type) {
System.out.println("Ignoring call to set the content type to : " + type);
}
}
Filtre pour l'appliquer:
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class ResponseContentTypeFilter implements Filter{
@Override
public void destroy() {
}
@Override
public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain chain) throws IOException, ServletException {
chain.doFilter(request, new ResponseWrapperToIgnoreContentType(response));
}
@Override
public void init(final FilterConfig filterConfig) throws ServletException {
}
}
EDIT: Juste repéré une faille dans ma logique. Le type de contenu doit être défini avant que vous puissiez appeler response.getWriter(), afin qu'il puisse utiliser le bon codage de caractères. Ne sais pas si cela vous affectera ou non.
Non. Pourquoi ne stockez-vous pas le type de contenu préféré dans la classe que vous créez et générez-lui des accesseurs pour que le JSP le reçoive?
"Avez-JSP obtenir à partir de là" - comment? – doublep
- 1. Type de contenu de réponse JSP Excel
- 2. Impossible de définir l'en-tête dans JSP. Réponse déjà validée
- 3. Définir le type de contenu d'une réponse dans Struts2
- 4. SiteMesh: Modification du type de contenu de la réponse
- 5. Réponse Type de contenu au format CSV
- 6. C# Silverlight WebClient obtenir le type de réponse de contenu?
- 7. Type de contenu de page
- 8. Impossible de définir le type de résultat Struts2 sur json
- 9. Comment définir le type de contenu pour une réponse WebMatrix/Razor?
- 10. Axis2 et fastinfoset - impossible de modifier le type de contenu
- 11. Impossible de définir l'objet de réponse en ASP classique
- 12. Comment définir le type de contenu XML dans Flex 3?
- 13. Comment définir le type de contenu sur HttpURLConnection?
- 14. Modification du type de contenu Page ENTRÉE?
- 15. page .aspx dédiée à répondre aux requêtes ajax, comment définir le type de contenu
- 16. comment définir le titre dans la page de contenu asp.net
- 17. Types de contenu de réponse
- 18. Outil de création de pages Web JSP
- 19. Détermination du type de contenu de la page
- 20. Impossible de définir la propriété DecoderFallback d'un type de codage
- 21. HttpServletRequest: Comment déterminer le type de contenu de l'actif demandé
- 22. Type de force et type de contenu
- 23. jquery: type de réponse différent
- 24. Code JSP pour afficher la demande et la réponse et le contenu de la session
- 25. Résolution de page JSP/HTML
- 26. Comment spécifier le type de contenu de réponse pour les documents afin de travailler de manière cohérente entre les navigateurs?
- 27. JavaScript type de contenu
- 28. Comment définir le type de contenu java de Google App Engine sur UTF-8
- 29. Problème d'encodage de page jsp
- 30. Classe d'assistance JSP pour l'impression de contenu
Merci, c'est probablement ce que je vais faire. Je vais trier des choses mineures comme le type de contenu sur l'objet de réponse faux plus tard. – doublep