struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nils-Helge Garli (JIRA)" <j...@apache.org>
Subject [jira] Commented: (WW-2846) s:url Tag with parameters does not work or results in ClassCastException
Date Tue, 21 Oct 2008 18:06:36 GMT

    [ https://issues.apache.org/struts/browse/WW-2846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44855#action_44855
] 

Nils-Helge Garli commented on WW-2846:
--------------------------------------

I'm not sure I understand the issue with includeParams=ALL. Do you have an example?

> s:url Tag with parameters does not work or results in ClassCastException
> ------------------------------------------------------------------------
>
>                 Key: WW-2846
>                 URL: https://issues.apache.org/struts/browse/WW-2846
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Plugin - Portlet, Plugin - Tags
>    Affects Versions: 2.0.11.2
>         Environment: Pluto 1.1.6, Java5
>            Reporter: Torsten Krah
>         Attachments: Param.diff
>
>
> Using Example 1 from s:url Tag
> http://struts.apache.org/2.0.11.2/struts2-core/apidocs/org/apache/struts2/components/URL.html
> does not work in an PortletEnvironment. Only the url is generated.
> Debugging to PortletUrlHelper the params map is empty.
>  <s:url value="editGadget.action">
>      <s:param name="id" value="%{selected}" />
>  </s:url>
> does not work. The params map is empty
>  <s:url value="editGadget.action">
>      <s:param name="id" value="abc" />
>  </s:url>
> does not work. The params map is empty.
>  <s:url value="editGadget.action">
>      <s:param name="id" value="40" />
>  </s:url>
> does not work. The param is in the Map, but its not a String, its an Integer - which
results in a ClassCastException at:
>   String key = (String)it.next();
>   String val = (String)params.get(key);
> Portlet Spec mentions to use Servlet for resource streaming and other things you can't
do with portlets.
> I need to generate servlet URLs containing parameters - but it seems i can't create them
with struts.
> Using "includeParams=ALL" (which you may use to get extraparams included), does result
in
> [Ljava.lang.String; cannot be cast to java.lang.String
> because PortletUrlHelper gots a method called: ensureParamsAreStringArrays which is called
when constructing the surrounding form ...
> which does convert the entire map to hold string arrays - but than buildResourceUrl must
fail everytime.
> Using get and %{ognlvaluexpr} it does work nearly, only the CCE is making things worse.
> The fault is 
>                 Object value = findValue(this.value);
>                 component.addParameter(name, value);
> in the param Tag. findValue does return actually an Integer instance which is put to
the parameter Map.
> This should be converted to String before inserting it to the map.
> Besides this, using All the above things still apply.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message