From: <roy...@jb...> - 2006-07-10 20:18:28
|
"IceWolf20" wrote : Is there a way in JPortal to directly map a JSP to a class as there is in Jetspeed with the MyPortlet.xreg (register and binds all Action classes to JSP's). | No, and I'm not familiar with why or how this works in JS. Makes as much sense as binding a JSP to a Servlet. "IceWolf20" wrote : Can this same methodology be applied to a JPortal portlet? Can I use request variables of lists from the database to build a JSP? Yes. Set your List as a parameter and retrieve if in the JSP. | class: | request.setAttribute("somelist", someList); | | jsp: | List blah = (List) request.getAttribute("somelist"); | "IceWolf20" wrote : How can I get JPortal to execute a specific method inside the Action class without having to parse through the expected parameters from the portlet inside the processAction class (if at all)? You can't. All actionUrls post to the processAction, and from there you call your specific method. You mention "Action Class" a lot. Not sure if you mean the actual portlet class, or some other thing thats JS specific. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3956743#3956743 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3956743 |
From: bdaw <do-...@jb...> - 2006-07-10 20:36:13
|
Ad. 2) I'm not sure if I understand your question well. You can simply use and access most of portlet objects from JSP. You can also pass your objects to jsp within a session or using RenderRequest.setAttribute (set object in portlet and get in jsp/servlet). Ad. 3) You can do such thing if you extend JBossPortlet (instead of GenericPortlet). You pass method name which should be invoked in action phase as request parameter - default param name is "op" but it can be changed by overwriting .getDefaultOperation() method Generally some more advenced stuff can be used when you extend JBossPortlet instead of GenericPortlet. Look at ForumsPortlet class in forums module in portal sources. You can easily pass things into jsp using custom taglib. For example you do: 1) in portlet you fill DelegateContext object with your data - which have nested structure 2) you dispatch with passing DelegateContext to JSP like: req.setAttribute(PortalJsp.CTX_REQUEST, delegateContextObject); PortletRequestDispatcher rd = getPortletContext() .getRequestDispatcher("yourJSPFile.jsp"); 3) In your JSP you can use a set of tags to get data from DelegateContext object like: <n:if/> <n:include/> <n:iterate/> all of those are implemented in org.jboss.portal.core.servlet.jsp.taglib.* package If you want to investigate it more just analize ForumsPortlet doView() method. RolePortlet and UserPortlet uses this stuff as well View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3956758#3956758 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3956758 |
From: bdaw <do-...@jb...> - 2006-07-10 20:40:08
|
but remember that JBossPortlet stuff extends the spec so you always lose portability of your portlet. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3956763#3956763 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3956763 |
From: IceWolf20 <do-...@jb...> - 2006-07-10 20:41:53
|
Thanks for the info..."Action class" is a reference to the hierarchy of classes within the framework: JSP -> Action Class -> Business Object -> Data Access Object -> Value Object (deprecated) -> Hibernate Mapping The "Action class" in my context is simply the term I used for the class that (in Jetspeed) indirectly implements (through turbine) the GenericPortlet class. It has a method called "buildNormalContext" that must be defined in the class that JspPortletAction class that functions like the "doView" method does in JPortal. Essentially "Action class" in JPortal is the class that extends the JbossPortlet class. View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3956765#3956765 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3956765 |