File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Portals and Portlets and the fly likes linking jsp pages in a liferay portlet Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Portals and Portlets
Bookmark "linking jsp pages in a liferay portlet" Watch "linking jsp pages in a liferay portlet" New topic
Author

linking jsp pages in a liferay portlet

Eoin Mac Aoidh
Ranch Hand

Joined: May 19, 2005
Posts: 48
I am trying to make a very basic portlet where 1 jsp page links to another. Nothing more. I create a war file and deploy in liferay. The portlet displays fine. The problem is that the pages I try to link to can not be found. For example,
When the portlet loads, page1.jsp is displayed. It contains the code:

page1.jsp and page2.jsp are both located in the same place, the WebContent folder.

When I click on the link which I expect will load page1 in the portlet, I get the error:

The requested resource was not found: http://xxx.xxx.x.xx/web/guest/page2.jsp

My portlet.xml file to initialize the portlet contains the code:

As page1 and page2 are both in the same directory, I am puzzled why page2 can not be found.
Perhaps there is some directory or context structure I should be specifying in the portlet.xml file?

Any help greatly appreciated.
Thanks
e
Tim McGuire
Ranch Hand

Joined: Apr 30, 2003
Posts: 820

this is a common question.

In your case, it is looking for page2.jsp in the whole portal (as you might see from the address bar after you click that link)

to make it link to and find page2.jsp within your portlet, use the portlet tags that come with javax.portlet:


Julian Hee
Greenhorn

Joined: May 19, 2010
Posts: 2
Hi,
I have similar problems using links in portlets.
Do I need to change anything in doView() or processAction method after using the renderURL in the _view.jsp
In which folder does the "page2.jsp" have to be in when using value="/page2.jsp"?

I have searched for a while for any working solution but I didn`t get it by now..
thanks
jrthor2
Greenhorn

Joined: Dec 13, 2004
Posts: 4
I have the same issue when trying to link to a page that is in a subfolder. How can this be done? I have a Spring portlet in Liferay I'm trying to link to. here is the code I have:


Thanks
Tim McGuire
Ranch Hand

Joined: Apr 30, 2003
Posts: 820

Julian Hee wrote:Hi,
I have similar problems using links in portlets.
Do I need to change anything in doView() or processAction method after using the renderURL in the _view.jsp
In which folder does the "page2.jsp" have to be in when using value="/page2.jsp"?

I have searched for a while for any working solution but I didn`t get it by now..
thanks


Hi Julian,

here is my doView method:


viewJSP and page2JSP are simply strings that end up being
/page-two.jsp
and
/view.jsp

respectively

if page-two were in a child folder, then the value of page2JSP should be "/childFolder/page-two.jsp"
Julian Hee
Greenhorn

Joined: May 19, 2010
Posts: 2
Hi,
thanks for you response...but it doesnt work :/

In my view.jsp i got this link


my original doView looks like this



i changed it to:


My folder structure is somethin like this:
Project
- Java Sources
-classes
- WebContent
-Web-Inf
-jsp
-new.jsp
-view.jsp
.....


Probably its quite simple but I dont get it.. do i have do change something in processAction()..or whats the problem...
thanks
Tim McGuire
Ranch Hand

Joined: Apr 30, 2003
Posts: 820

Julian Hee wrote:


My folder structure is somethin like this:
Project
- Java Sources
-classes
- WebContent
-Web-Inf
-jsp
-new.jsp
-view.jsp


the root of your web content is where your jsps should be. Try putting them in the webContent directory.

I notice that you are creating the parameter in your init-params in portlet.xml, you can instead use view-jsp or new-jsp in as the value in the renderURL tag as these are defined already. in the jspPortlet.java, these have to be brought in with the init method:

but maybe it is more clear to just use the string "/jsp/new.jsp"

Note that using the liferay plugins sdk will make all this much easier as it sets up your directory structure, xml files, and java files, allowing you to deploy easiliy with ant commands. Check it out, you will be thankful.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: linking jsp pages in a liferay portlet