Scott,

I tried it out, but got errors, see below. Here are the steps I used to
deploy ... please let me know if I am missing something or doing something
wrong

0. Pull latest on PortletHub branch

> git brach
*PortletHub
master

> git pull origin

1. Build Pluto from root directory

mvn clean install

2. Build Distribution

ant -f dist-build.xml

3. start Pluto

cd target/dist/pluto-2.1.0-SNAPSHOT/bin
chmod +x *.sh
./startup.sh

4. deploy the Portlet Hub

cp PortletHubDemo/target/PortletHubDemo.war
target/dist/pluto-2.1.0-SNAPSHOT/webapps/

5. Login to Pluto as pluto/pluto

6. Create a new page called Hub from Pluto Admin

7. Add any Hub portlet to the Hub page. I tried a few, they all get this
error when navigating to the Hub page:


Error rendering portlet MessageBoxPortlet.

javax.portlet.PortletException: org.apache.jasper.JasperException: The
absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in
either web.xml or the jar files deployed with this application
        at 
org.apache.pluto.container.impl.PortletRequestDispatcherImpl.doDispatch(PortletRequestDispatcherImpl.java:187)
        at 
org.apache.pluto.container.impl.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:227)
        at basic.portlet.MessageBoxPortlet.doView(MessageBoxPortlet.java:63)
        at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:348)
        at javax.portlet.GenericPortlet.render(GenericPortlet.java:253)
        at 
org.apache.pluto.driver.services.container.FilterChainImpl.doFilter(FilterChainImpl.java:163)
        at 
org.apache.pluto.driver.services.container.FilterChainImpl.processFilter(FilterChainImpl.java:91)
        at 
org.apache.pluto.driver.services.container.FilterManagerImpl.processFilter(FilterManagerImpl.java:105)
        at 
org.apache.pluto.container.driver.PortletServlet.dispatch(PortletServlet.java:340)
        at 
org.apache.pluto.container.driver.PortletServlet.doGet(PortletServlet.java:261)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
        at 
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593)
        at 
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530)
        at 
org.apache.pluto.driver.container.DefaultPortletInvokerService.invoke(DefaultPortletInvokerService.java:233)
        at 
org.apache.pluto.driver.container.DefaultPortletInvokerService.render(DefaultPortletInvokerService.java:117)
        at 
org.apache.pluto.container.impl.PortletContainerImpl.doRender(PortletContainerImpl.java:157)
        at 
org.apache.pluto.driver.tags.PortletTag.doStartTag(PortletTag.java:165)
        at 
org.apache.jsp.WEB_002dINF.themes.portlet_002dskin_jsp._jspService(portlet_002dskin_jsp.java:95)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
        at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
        at 
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593)
        at 
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530)
        at 
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:927)
        at 
org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._jspx_meth_c_005fforEach_005f1(pluto_002ddefault_002dtheme_jsp.java:617)
        at 
org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._jspx_meth_c_005fotherwise_005f0(pluto_002ddefault_002dtheme_jsp.java:561)
        at 
org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._jspx_meth_c_005fchoose_005f0(pluto_002ddefault_002dtheme_jsp.java:422)
        at 
org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._jspService(pluto_002ddefault_002dtheme_jsp.java:217)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
        at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
        at 
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)
        at 
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)
        at 
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
        at 
org.apache.pluto.driver.PortalDriverServlet.doGet(PortalDriverServlet.java:255)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:185)
        at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:151)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
        at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:269)
        at 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
        at 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.jasper.JasperException: The absolute uri:
http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml
or the jar files deployed with this application
        at 
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:56)
        at 
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:410)
        at 
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:117)
        at 
org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:311)
        at 
org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:152)
        at 
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:410)
        at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:475)
        at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1425)
        at org.apache.jasper.compiler.Parser.parse(Parser.java:138)
        at 
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:242)
        at 
org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)
        at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198)
        at org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
        at org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
        at org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
        at 
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:644)
        at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
        at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
        at 
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593)
        at 
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530)
        at 
org.apache.pluto.container.impl.PortletRequestDispatcherImpl.doDispatch(PortletRequestDispatcherImpl.java:174)
        ... 68 more



--
David S Taylor
707 529-9194
da...@bluesunrise.com


On Wed, Dec 3, 2014 at 7:37 AM, Martin Scott Nicklous <
scott.nickl...@de.ibm.com> wrote:

>
> Hi,
>
> I pushed several commits to the PortletHub branch of the Pluto repository,
> completing the Portlet Hub functionality (I think). There are quite a few
> changes, one of which ended up going deeper than I had really expected,
> which is why it took a little longer than planned.
>
> Changes:
>
> 1) Added accessor helper functions to the PortletParameters and
> PortletState objects
>
> 2) Modified portlet JavaScript code to use the new accessors
>
> 3) Used jslint to improve the portletHubImpl.js code
>
> 4) Completed the portlet hub action functionality by allowing the Portlet
> Client JavaScript code to provide a form element to the action() method
> rather than having to set the action parameters on the URL.
>
> In order to keep the client-side implementation easy, I implemented this
> through use of the XHR2 FormData object.
>
> It turns out that XHR2 sends FormData as "multipart/form-data" rather than
> as "application/x-www-form-urlencoded", so multipart form support was
> needed on the server side as well. In order to avoid writing my own parser
> for the multipart form data, I moved the Pluto servlet dependency to v3.0.
> Some JSPs weren't working for non-obvious reasons, so I moved the JSP and
> EL dependencies to v2.2 and moved to the latest standard tag library as
> well. That ended up solving the problem.
>
> Now everything seems to work. We've got the PortletHub functionality
> complete AND we have moved to the Java EE 6 level of servlet api, JSP api,
> EL api, and JSTL support.
>
> It would be good if someone could try this out and verify that it doesn't
> just work only on my machine. Since there are a number of changes, you will
> have to pull the latest level from the PortletHub branch, recompile, and
> completely redeploy Pluto and the demo portlets to see the changes.
>
> regards,
> Scott
>
>

Reply via email to