I am trying to get a simple struts/tiles application working in jetspeed 2
using struts bridge. I would greatly appreciate any insight why I keep
getting this error. Some of my key files:

portlet.xml
---------------
<?xml version="1.0" encoding="UTF-8"?>
<portlet-app id="singles"
xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"; version="1.0"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
 xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd
 http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";>
   <portlet id="strutsexample">
    <portlet-name>strutsexample</portlet-name>
    <display-name>struts tiles example</display-name>
    
   
<portlet-class>org.apache.portals.bridges.struts.StrutsPortlet</portlet-class>
    <init-param>
      <name>ServletContextProvider</name>
      <value>org.apache.jetspeed.portlet.ServletContextProviderImpl</value>
    </init-param>
    <init-param>
      <name>ViewPage</name>
      <value>/do/welcome</value>
    </init-param>
    <expiration-cache>-1</expiration-cache>
    <supports>
      <mime-type>text/html</mime-type>
      <portlet-mode>VIEW</portlet-mode>
      <portlet-mode>HELP</portlet-mode>
    </supports>
    <portlet-info>
      <title>struts</title>
      <keywords>struts</keywords>
    </portlet-info>
  </portlet>
</portlet-app>

struts-config.xml
-----------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts
Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd";>
<struts-config>
   <data-sources />
   <form-beans />
   <global-exceptions />

   <global-forwards >
      <forward
         name="welcome"
         path="/do/welcome"
         redirect="true" />
   </global-forwards>

   <action-mappings >
      <action path="/welcome"
type="de.laliluna.tutorials.library.struts.action.WelcomeAction">
         <forward name="showWelcome" path="page.welcome" />
      </action>
      <action path="/bookList"
type="de.laliluna.tutorials.library.struts.action.BookListAction">
         <forward name="showBookList" path="page.booklist" />
      </action>
      <action path="/navigation"
type="de.laliluna.tutorials.library.struts.action.NavigationAction">
         <forward name="showNavigation" path="/jsp/navigation.jsp" />
      </action>
   </action-mappings>

   
   <!--
   <controller
processorClass="org.apache.struts.tiles.TilesRequestProcessor"
bufferSize="4096" debug="0" />
   -->
   <controller pagePattern="$M$P" inputForward="false"
processorClass="org.apache.portals.bridges.struts.PortletTilesRequestProcessor"/>
  
   <message-resources
parameter="de.laliluna.tutorials.library.struts.ApplicationResources" />
  
   <plug-in className="org.apache.struts.tiles.TilesPlugin">
    <set-property property="definitions-config"
value="/WEB-INF/tiles-defs.xml" />
    <set-property property="moduleAware" value="true" />
    <set-property property="definitions-parser-validate" value="true" />
   </plug-in>
  
</struts-config>

struts-portlet-config.xml
---------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<config>
  <render-context>
    <attribute name="errors"/>
    <attribute name="message"/>
  </render-context>
  <portlet-url-type>
    <action path="/do/welcome"/>
    <action path="/do/bookList"/>
    <action path="/do/navigation"/>
    <resource path="/images/"/>
  </portlet-url-type>
</config>

tiles-defs.xml
-----------------
<?xml version="1.0" encoding="ISO-8859-1" ?>

 <!DOCTYPE tiles-definitions PUBLIC
       "-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"
       "http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd";>

<tiles-definitions>
        <!-- Base Tiles Definition -->
        <definition name="base.definition" path="/jsp/siteLayout.jsp">
                <put name="header" value="/jsp/header.jsp" />
                <put name="navigation" value="/do/navigation" />
                <put name="footer" value="/jsp/footer.jsp" />
        </definition>
        
        <!-- Tiles Definition of welcome page -->
        <definition name="page.welcome" extends="base.definition">
                <put name="title" value="Welcome page" />
                <put name="body" value="/jsp/index.jsp" />
        </definition>
        
        <!-- Tiles Definition of BookList -->
        <definition name="page.booklist" extends="base.definition">
                <put name="title" value="Book list page" />
                <put name="body" value="/jsp/bookList.jsp" />
        </definition>
</tiles-definitions>

web.xml
------------
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd";>
<web-app>
        <servlet>
                <servlet-name>action</servlet-name>
        
<servlet-class>org.apache.portals.bridges.struts.PortletServlet</servlet-class>
                <init-param>
                        <param-name>config</param-name>
                        <param-value>/WEB-INF/struts-config.xml</param-value>
                </init-param>
                <init-param>
                        <param-name>debug</param-name>
                        <param-value>2</param-value>
                </init-param>
                <init-param>
                        <param-name>detail</param-name>
                        <param-value>2</param-value>
                </init-param>
                <load-on-startup>1</load-on-startup>
        </servlet>

          <servlet>
            <servlet-name>JetspeedContainer</servlet-name>
            <display-name>Jetspeed Container</display-name>
            <description>MVC Servlet for Jetspeed Portlet
Applications</description>
           
<servlet-class>org.apache.jetspeed.container.JetspeedContainerServlet</servlet-class>
            <init-param>
              <param-name>contextName</param-name>
              <param-value>strutsexample</param-value>
            </init-param>
            <load-on-startup>0</load-on-startup>
          </servlet>

          <servlet-mapping>
            <servlet-name>JetspeedContainer</servlet-name>
            <url-pattern>/container/*</url-pattern>
          </servlet-mapping>

        <servlet-mapping>
                <servlet-name>action</servlet-name>
                <url-pattern>/do/*</url-pattern>
        </servlet-mapping>

        <session-config>
                <session-timeout>500</session-timeout>
        </session-config>

        <!-- Default files and Error pages for standard HTTP error codes -->
        <env-entry>
                <env-entry-name>maxListLength</env-entry-name>
                <env-entry-value>100</env-entry-value>
                <env-entry-type>java.lang.Integer</env-entry-type>
        </env-entry>
</web-app>

strutsexample.psml
--------------------------
<?xml version="1.0" encoding="UTF-8"?>
 <page id="strutsexample">
  <defaults
     skin="orange"
     layout-decorator="tigris"
     portlet-decorator="tigris"
  />
  <title>The Struts/Tiles Example Porlet</title>
  <metadata name="title" xml:lang="en">The Struts/Tiles Example
Portlet</metadata>

  <fragment id="strutsexample" type="layout"
name="jetspeed-layouts::VelocityOneColumn">
    <fragment id="singles-1" type="portlet"
name="strutsexample::strutsexample">
      <property layout="OneColumn" name="row" value="0" />
      <property layout="OneColumn" name="column" value="0" />
    </fragment>
  </fragment>

  <security-constraints>
    <security-constraints-ref>public-view</security-constraints-ref>
  </security-constraints>
</page>

navigation.jsp
------------------
<%@ page language="java"%>
<%@ taglib uri="http://portals.apache.org/bridges/struts/tags-portlet-html";
prefix="html" %>

Navigation page
<br />
<html:link action="welcome"> Goto welcome page </html:link>
<br />
<html:link action="bookList"> Goto book list page </html:link> 
<br />
<br />


When I click on any <html:link> on the navigation page, I got this error. It
seems the componet context isn't set into the pageContext.

Error - tag.getAsString : component context is not defined. Check tag syntax
org.apache.struts.taglib.tiles.GetAttributeTag.doEndTag(GetAttributeTag.java:155)
org.apache.jsp.jsp.siteLayout_jsp._jspx_meth_tiles_getAsString_0(org.apache.jsp.jsp.siteLayout_jsp:176)
org.apache.jsp.jsp.siteLayout_jsp._jspx_meth_html_html_0(org.apache.jsp.jsp.siteLayout_jsp:108)
org.apache.jsp.jsp.siteLayout_jsp._jspService(org.apache.jsp.jsp.siteLayout_jsp:73)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
org.apache.portals.bridges.struts.PortletServletRequestDispatcher.invoke(PortletServletRequestDispatcher.java:128)
org.apache.portals.bridges.struts.PortletServletRequestDispatcher.include(PortletServletRequestDispatcher.java:146)
org.apache.portals.bridges.struts.PortletServlet.performActionRenderRequest(PortletServlet.java:179)
org.apache.portals.bridges.struts.PortletTilesRequestProcessor.processRoles(PortletTilesRequestProcessor.java:57)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:197)
org.apache.portals.bridges.struts.PortletTilesRequestProcessor.process(PortletTilesRequestProcessor.java:50)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
org.apache.portals.bridges.struts.StrutsPortlet.processRequest(StrutsPortlet.java:375)
org.apache.portals.bridges.struts.StrutsPortlet.doView(StrutsPortlet.java:274)
javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:247)
javax.portlet.GenericPortlet.render(GenericPortlet.java:175)
org.apache.jetspeed.factory.JetspeedPortletInstance.render(JetspeedPortletInstance.java:102)
org.apache.jetspeed.container.JetspeedContainerServlet.doGet(JetspeedContainerServlet.java:230)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
org.apache.jetspeed.container.invoker.ServletPortletInvoker.invoke(ServletPortletInvoker.java:213)
org.apache.jetspeed.container.invoker.ServletPortletInvoker.render(ServletPortletInvoker.java:125)
org.apache.pluto.PortletContainerImpl.renderPortlet(PortletContainerImpl.java:119)
org.apache.jetspeed.container.JetspeedPortletContainerWrapper.renderPortlet(JetspeedPortletContainerWrapper.java:120)
org.apache.jetspeed.aggregator.impl.RenderingJobImpl.execute(RenderingJobImpl.java:120)
org.apache.jetspeed.aggregator.impl.PortletRendererImpl.renderNow(PortletRendererImpl.java:110)
org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.aggregateAndRender(PageAggregatorImpl.java:199)
org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.aggregateAndRender(PageAggregatorImpl.java:182)
org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.build(PageAggregatorImpl.java:106)
org.apache.jetspeed.aggregator.AggregatorValve.invoke(AggregatorValve.java:48)
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203)
org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.invoke(ActionValveImpl.java:132)
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203)
org.apache.jetspeed.container.ContainerValve.invoke(ContainerValve.java:76)
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203)
org.apache.jetspeed.decoration.DecorationValve.invoke(DecorationValve.java:100)
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203)
org.apache.jetspeed.profiler.impl.ProfilerValveImpl.invoke(ProfilerValveImpl.java:179)
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203)
org.apache.jetspeed.security.impl.LoginValidationValveImpl.invoke(LoginValidationValveImpl.java:143)
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203)
org.apache.jetspeed.security.impl.PasswordCredentialValveImpl.invoke(PasswordCredentialValveImpl.java:148)
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203)
org.apache.jetspeed.localization.impl.LocalizationValveImpl.invoke(LocalizationValveImpl.java:168)
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203)
org.apache.jetspeed.security.impl.AbstractSecurityValve$1.run(AbstractSecurityValve.java:117)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:437)
org.apache.jetspeed.security.impl.AbstractSecurityValve.invoke(AbstractSecurityValve.java:111)
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203)
org.apache.jetspeed.container.url.impl.PortalURLValveImpl.invoke(PortalURLValveImpl.java:55)
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203)
org.apache.jetspeed.capabilities.impl.CapabilityValveImpl.invoke(CapabilityValveImpl.java:128)
org.apache.jetspeed.pipeline.JetspeedPipeline.invokeNext(JetspeedPipeline.java:203)
org.apache.jetspeed.pipeline.JetspeedPipeline.invoke(JetspeedPipeline.java:185)
org.apache.jetspeed.engine.JetspeedEngine.service(JetspeedEngine.java:231)
org.apache.jetspeed.engine.JetspeedServlet.doGet(JetspeedServlet.java:226)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
java.lang.Thread.run(Thread.java:534)

-- 
View this message in context: 
http://www.nabble.com/Error---tag.getAsString-%3A-component-context-is-not-defined.-Check-tag-sy-tf2269365.html#a6298778
Sent from the Jetspeed - User forum at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to