You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-user@portals.apache.org by Ate Douma <at...@douma.nu> on 2005/01/21 17:39:59 UTC

[J2] Struts Bridge updated again

I've committed several fixed and a few enhancements to the Struts Bridge.
If you currently are using the Script Tag, make sure to read the following (they are gone):

- Support anchor tag in link and rewrite tags

- Improved and corrected struts-el handling and dropped all BeanInfo classes (no longer needed)

- Added PortletURLType.RESOURCE which allows link and rewrite tags to also render resource urls

   You can specify attribute resourceURL="true" and/or define in
   the struts-portlet-config.xml a <resource path="<url prefix"/> as subelement
   of the PortletUrlType elements (just like the action and render elements).

   A resourceURL will be rendered just like that: a context relative url, instead
   of a PortletURL (the contextPath will be prefixed, just as with images).

   This allows you to reference a javascript source with:
     <script language="Javascript1.1" src="<html:rewrite href="../js/staticJavascript.jsp" resourceURL="true"/>"/>

   or by using for example <resource path="/js/"/> in struts-portlet-config.xml:
     <script language="Javascript1.1" src="<html:rewrite href="../js/staticJavascript.jsp"/>"/>

   Also (the reason I started out adding this feature):
     <table background="<html:rewrite href="../images/bkg-topbar.gif"/>"
     using a <resource path="/images/"/> in struts-portlet-config.xml for jpetstore

   instead of what I current have:
     <table background="<c:out value="${pageContext.request.contextPath}"/>/images/bkg-topbar.gif"

   This allowed me to remove the jstl dependency from jpetstore again (I only use it for the above)
   as well as REMOVE the ScriptTag and ELScriptTag!!!

- DROPPED all Script Tags as it functionality can now be realized by the rewrite tag (see above)

   I never liked it to have to add a non-struts based tag in the struts-portlet tld.
   But because providing an additional tld for only those tags seemed a bit too much.

   Now, with the new resourceURL support in html:link and html:rewrite I don't really
   need the script tags anymore.

Regards, Ate


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-user-help@jakarta.apache.org


Re: [J2] Struts Bridge updated again

Posted by Hema Menon <me...@gmail.com>.
Ate,

I have a strange problem with our struts application. It works fine in
Jetspeed 2 but not in Jetspeed 1.6 w/fusion. In JS1.6 the
beansUtils.populate does not contain the input params, whereas for
JS2, it does get populated. We use JSTL tags <c:set>. Can you think of
a reason why this would fail in JS1.6? Looking back at your mail, you
mentioned removing JSTL dependency in JPetstore application. Do you
know of any problems using JSTL tags within Jetspeed?

The logs for JETSPEED 2is as follows
2005-03-27 19:11:15,335 [http-8080-Processor24] DEBUG StrutsPortlet -
process path: /saveWelcomeChanges.do, requestType: ACTION
2005-03-27 19:11:15,351 [http-8080-Processor24] DEBUG ModuleUtils -
Get module name for path /saveWelcomeChanges.do
2005-03-27 19:11:15,351 [http-8080-Processor24] DEBUG ModuleUtils -
Module name found: default
2005-03-27 19:11:15,367 [http-8080-Processor24] DEBUG RequestProcessor
- Processing a 'POST' for path '/saveWelcomeChanges'
2005-03-27 19:11:15,367 [http-8080-Processor24] DEBUG RequestUtils - 
Looking for ActionForm bean instance in scope 'request' under
attribute key 'welcomeForm'
2005-03-27 19:11:15,367 [http-8080-Processor24] DEBUG RequestUtils - 
Creating new ActionForm instance of .............
...........................................................................
2005-03-27 19:11:15,367 [http-8080-Processor24] DEBUG RequestProcessor
-  Storing ActionForm bean instance in scope 'request' under attribute
key 'welcomeForm'
2005-03-27 19:11:15,367 [http-8080-Processor24] DEBUG RequestProcessor
-  Populating bean properties from this request
2005-03-27 19:11:15,398 [http-8080-Processor24] DEBUG
CommonsMultipartRequestHandler - File upload temp dir:
C:\jakarta-tomcat-5.0.28\work\Catalina\localhost\mygreetings
2005-03-27 19:11:15,445 [http-8080-Processor24] DEBUG BeanUtils -
BeanUtils.populate(BaseForm:
|, {audioBeans[0].greetingUpload=,
audioBeans[0].filename=[Ljava.lang.String;@a3c5b6,
audioBeans[2].languageName=[Ljava.lang.String;@94cc7,
audioBeans[1].filename=[Ljava.lang.String;@8fa0f0,
_spage=[Ljava.lang.String;@18efa2f, mode=[Ljava.lang.String;@1cb4a6a,
audioBeans[2].filename=[Ljava.lang.String;@182815a,
audioBeans[2].greetingUpload=,
numberOfTimesToPlay=[Ljava.lang.String;@fa4dec,
audioBeans[1].greetingUpload=,
audioBeans[0].languageName=[Ljava.lang.String;@111e86f,
audioBeans[1].languageName=[Ljava.lang.String;@b2f2d6,
name=[Ljava.lang.String;@64cd4b, method=[Ljava.lang.String;@1e2254a,
originalName=[Ljava.lang.String;@1fe256b})
2005-03-27 19:11:15,445 [http-8080-Processor24] DEBUG BeanUtils -  
setProperty(BaseForm: I
, audioBeans[0].greetingUpload, )


But for JETSPEED 1.6 W/FUSION (LATEST SYNC BRANCH) the logs shows as follows
005-03-29 11:03:18,639 [http-8080-Processor23] DEBUG StrutsPortlet -
process path: /saveWelcomeChanges.do, requestType: ACTION
2005-03-29 11:03:18,649 [http-8080-Processor23] DEBUG ModuleUtils -
Get module name for path /saveWelcomeChanges.do
2005-03-29 11:03:18,649 [http-8080-Processor23] DEBUG ModuleUtils -
Module name found: default
2005-03-29 11:03:18,649 [http-8080-Processor23] DEBUG RequestProcessor
- Processing a 'POST' for path '/saveWelcomeChanges'
2005-03-29 11:03:18,649 [http-8080-Processor23] DEBUG RequestUtils - 
Looking for ActionForm bean instance in scope 'request' under
attribute key 'welcomeForm'
2005-03-29 11:03:18,649 [http-8080-Processor23] DEBUG RequestUtils - 
Creating new ActionForm instance of ....................
..........................................
2005-03-29 11:03:18,649 [http-8080-Processor23] DEBUG RequestProcessor
-  Storing ActionForm bean instance in scope 'request' under attribute
key 'welcomeForm'
2005-03-29 11:03:18,649 [http-8080-Processor23] DEBUG RequestProcessor
-  Populating bean properties from this request
2005-03-29 11:03:18,669 [http-8080-Processor23] DEBUG
CommonsMultipartRequestHandler - File upload temp dir:
C:\jakarta-tomcat-5.0.28\work\Catalina\localhost\mygreetings
2005-03-29 11:03:18,669 [http-8080-Processor23] DEBUG BeanUtils -
BeanUtils.populate(BaseForm:
|, {_spage=[Ljava.lang.String;@137bc9})
2005-03-29 11:03:18,669 [http-8080-Processor23] DEBUG BeanUtils -  
setProperty(BaseForm:
|, _spage, [/saveWelcomeChanges.do])
2005-03-29 11:03:18,669 [http-8080-Processor23] DEBUG RequestProcessor
-  Validating input form properties
2005-03-29 11:03:18,679 [http-8080-Processor23] DEBUG RequestProcessor
-   Rolling back multipart request
2005-03-29 11:03:18,679 [http-8080-Processor23] DEBUG RequestProcessor
-  Validation failed, returning to '/reshowWelcome.do'
2005-03-29 11:03:18,679 [http-8080-Processor23] DEBUG RequestProcessor
-  Delegating via forward to '/reshowWelcome.do'
2005-03-29 11:03:18,679 [http-8080-Processor23] DEBUG
PortletServletRequestDispatcher - saving  dispatch to
:/reshowWelcome.do, from ACTION /saveWelcomeChanges.do
2005-03-29 11:03:18,679 [http-8080-Processor23] WARN  StrutsPortlet -
Warning: Using the original action URL for render URL:
/saveWelcomeChanges.do.
A redirect should have been issued.

As can be observed from the logs, clearly within Jetspeed 1.6, the
bean properties are not being set, which results in validation
failure. Can you think of any reason why it would fail? We have to use
Jetspeed 1.6 considering all our existing portlets. However the reason
to use 1.6 is for support of struts, which seems to be failing here.
Any input is well appreciated.I am so lost :(

Thanks,
Hema




On Fri, 21 Jan 2005 17:39:59 +0100, Ate Douma <at...@douma.nu> wrote:
> I've committed several fixed and a few enhancements to the Struts Bridge.
> If you currently are using the Script Tag, make sure to read the following (they are gone):
> 
> - Support anchor tag in link and rewrite tags
> 
> - Improved and corrected struts-el handling and dropped all BeanInfo classes (no longer needed)
> 
> - Added PortletURLType.RESOURCE which allows link and rewrite tags to also render resource urls
> 
>   You can specify attribute resourceURL="true" and/or define in
>   the struts-portlet-config.xml a <resource path="<url prefix"/> as subelement
>   of the PortletUrlType elements (just like the action and render elements).
> 
>   A resourceURL will be rendered just like that: a context relative url, instead
>   of a PortletURL (the contextPath will be prefixed, just as with images).
> 
>   This allows you to reference a javascript source with:
>     <script language="Javascript1.1" src="<html:rewrite href="../js/staticJavascript.jsp" resourceURL="true"/>"/>
> 
>   or by using for example <resource path="/js/"/> in struts-portlet-config.xml:
>     <script language="Javascript1.1" src="<html:rewrite href="../js/staticJavascript.jsp"/>"/>
> 
>   Also (the reason I started out adding this feature):
>     <table background="<html:rewrite href="../images/bkg-topbar.gif"/>"
>     using a <resource path="/images/"/> in struts-portlet-config.xml for jpetstore
> 
>   instead of what I current have:
>     <table background="<c:out value="${pageContext.request.contextPath}"/>/images/bkg-topbar.gif"
> 
>   This allowed me to remove the jstl dependency from jpetstore again (I only use it for the above)
>   as well as REMOVE the ScriptTag and ELScriptTag!!!
> 
> - DROPPED all Script Tags as it functionality can now be realized by the rewrite tag (see above)
> 
>   I never liked it to have to add a non-struts based tag in the struts-portlet tld.
>   But because providing an additional tld for only those tags seemed a bit too much.
> 
>   Now, with the new resourceURL support in html:link and html:rewrite I don't really
>   need the script tags anymore.
> 
> Regards, Ate
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: jetspeed-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: jetspeed-user-help@jakarta.apache.org
> 
> 


-- 


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Hema Menon

---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-user-help@jakarta.apache.org