struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "CRANFORD, CHRIS" <Chris.Cranf...@setech.com>
Subject RE: Problem using TypeConverters with SelectTag
Date Thu, 30 Apr 2015 13:22:28 GMT
Was this part of the fix in WW-4427?

-----Original Message-----
From: CRANFORD, CHRIS [mailto:Chris.Cranford@setech.com] 
Sent: Tuesday, April 28, 2015 8:30 AM
To: Struts Users Mailing List
Subject: RE: Problem using TypeConverters with SelectTag

Version 2.3.20 GA

-----Original Message-----
From: Lukasz Lenart [mailto:lukaszlenart@apache.org]
Sent: Tuesday, April 28, 2015 6:20 AM
To: Struts Users Mailing List
Subject: Re: Problem using TypeConverters with SelectTag

Struts version? I thought this was already resolved.

2015-04-24 15:16 GMT+02:00 CRANFORD, CHRIS <Chris.Cranford@setech.com>:
> I have defined a simple POJO and type converter shown here:
>
> // Model POJO
> public class SiteSelection {
>                 private String type;
>                 private String label;
>                 private List<Long> ids = new ArrayList<Long>();
>                 /* getter & setters */ }
>
> // Converter
> public class SiteSelectionTypeConverter extends StrutsTypeConverter {
>                 @Override
>                 public Object convertFromString(Map context, String[] values, Class toClass)
{
>                                 /* converts values[0] from '{type}:{comma-separted list
of ids} */
>                 }
>                 @Override
>                 public String convertToString(Map context, Object object) {
>                                 /* converts object to string using format '{type}:{comma-separated
list of ids} */
>                 }
> }
>
> // Action
> public class SomeAction extends ActionSupport implements Preparable {
>                 private List<SiteSelection> siteSelections;
>                 private SiteSelection selectedSite;
>                 /* getter & setters */ }
>
> In the JSP, I have used the select tag as follows
>
> <s:select name="selectedSite" list="siteSelections" />
>
> The type converters get used and the select is populated with the appropriate key/value
pairs.   The problem is when I take a specific entry in the siteSelections and set it on the
selectedSite property during the initial render or populate selectedSite and re-render the
input page during say a validation failure, the select tag doesn't apply the "selected" attribute
on any options.
>
> This seems to be an issue with how parameters.nameValue is being determined in the taglib
java code and the fact that the template compares this parameter against itemKey rather than
itemKeyStr.  In the case of using type conversion, the itemKey is something like "com.app.SiteSelection@2b3a51e"
where as itemKeyStr is "A:1,2,3".
>
> Can someone explain to me what was the intended way to use 
> TypeConverter implementations with a select tag?  The only way I've 
> been able to hack around this issue is
>
> <s:set var="selectedSiteStr" value="selectedSite" /> <s:select 
> name="selectedSite" value="#selectedSiteStr" list="siteSelections"
> template="my-custom-select" />
>
> and modifying the select.ftl line 107 from:
>
> <#if tag.contains(parameters.nameValue, itemKey) == true>
>
> To:
>
> <#if tag.contains(parameters.nameValue, itemKeyStr) == true>
>
> But I'm not sure what side effects such a change would have.
>
> ___________________________________________________________
> Chris Cranford
> SAP/Oracle/J2EE Applications Developer SETECH Inc & Companies
> 903 Industrial Drive, Murfreesboro TN 37129
> Phone: (615) 890-1755 x361, Fax: (615) 890-9057, Mobile: (704)
> 650-1042
> Email: chris.cranford@setech.com<mailto:chris.cranford@setech.com>
>

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


Email secured by Check Point

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

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Mime
View raw message