2013-10-08 5 views
2

J'ai une classe d'action avec une propriété String nommée jspString. Je crée le contenu pour le JSP résultant de cette classe d'action en utilisant la propriété jspString. J'ai inclus ma classe d'action et les codes JSP qui en résultent. Mon problème est que, lorsque j'essaie d'inclure une page JSP, en utilisant la balise jsp:include, le rendu de cette page n'est pas rendu dans la page résultante.Struts 2 - JSP: Render String en JSP

classe Action:

public class HomeAction extends ActionSupport 
{ 
    private String jspString = ""; 
    public String execute() 
    { 
      jspString += "<div>"; 
      jspString += "<p>"; 
      jspString += "<jsp:include page=\"check.jsp\">";         
      jspString += "</p>"; 
      jspString += "</div>"; 
      return "success"; 
    } 
    public String getJspString() 
    { 
     return jspString; 
    } 

    public void setJspString(String jspString) 
    { 
     this.jspString = jspString; 
    } 
} 

résultant JSP:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 
<%@ taglib uri="/struts-tags" prefix="s" %> 
<html> 
<body> 
<s:property escapeHtml="false" value="jspString"/> 
</body> 
</html> 

maintenant div, p balises sont créés. Mais jsp:include ne fonctionne pas. Il n'affiche pas le contenu de check.jsp dans la page résultante.

+0

où incluez-vous votre JSP? Je ne suis pas capable de le voir dans votre code et comment vous l'incluez? –

+0

vérifiez votre chemin pour "check.jsp" et le chemin de requête que vous avez fait. Comme il y avait déjà une requête sur le serveur, le mappage sera modifié en fonction de cette requête et donc "check.jsp" ne sera pas dans ce répertoire. Il cherche dans le mauvais répertoire. –

Répondre

1

Utilisez la balise s:action pour exécuter une action sur le serveur et renvoyer jsp dans le corps de la balise.

<s:action name="home"/> 
+0

+1 pour l'étiquette d'action, mais je ne sais pas exactement ce que l'OP veut exactement. Bien que nous puissions utiliser 'executeResult' –

+0

Merci à tous pour vos réponses. En fait, je crée dynamiquement la page JSP. J'ai essayé de changer le chemin de "check.jsp". Mais jsp: include ne se passe pas. – Kalidha

+0

Romains pouvez-vous me dire wer pour utiliser this ?? – Kalidha