2016-07-11 1 views
1

Im un débutant dans le développement de Liferay et j'ai une question assez simple.Appelez la page de jsp de Liferay Portal

J'ai un exemple de portlet qui affiche un message texte et que j'ai besoin d'afficher dans le portail Liferay. Comment puis-je faire ceci ? le code JSP est ci-dessous:

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %> 
<%@ page import="javax.portlet.PortletPreferences" %> 

<portlet:defineObjects /> 

<% 
    PortletPreferences prefs = renderRequest.getPreferences(); 
    String greeting = (String)prefs.getValue("greeting", "Hello! Welcome to our portal."); 
%> 

<p><%= greeting %></p> 

Répondre

1

EDIT

Comment puis-je écrire le même portlet sans code Java dans le fichier view.jsp?

Vous devez remplacer MVCPortlets doView méthode pour initialiser un attribut, considérons l'attribut greeting. Par exemple:

public class Greeting extends MVCPortlet { 

    @Override 
    public void doView(RenderRequest renderRequest, RenderResponse renderResponse) throws IOException, PortletException { 

     renderRequest.setAttribute("greeting", "Hello! Welcome to our portal."); 

     super.doView(renderRequest, renderResponse); 
    } 
} 

Et dans votre fichier JSP, récupérer l'attribut greeting en utilisant EL ${greeting}.

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %> 

<portlet:defineObjects /> 

<p>${greeting}</p> 

Ouput:

Hello! Welcome to our portal. 
+0

Merci pour votre réponse, mais je voulais dire autre chose. Je vais essayer de mieux expliquer. J'ai un fichier java et j'ai un fichier view.jsp contenant du code java. Comment puis-je écrire le même portlet sans code java dans le fichier view.jsp? – German

+0

J'ai édité la réponse. Vous verrez comment appeler le code Java de jsp. –

+0

Si je colle ce code, cela ne fonctionne pas. Je ne comprends vraiment pas pourquoi, juste un portlet vide sans aucun message texte. P.S. Pourquoi devons-nous redéfinir pas la méthode render() mais doView()? Ce code semble être très facile et je suis tellement frustré:/ – German