struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aleksandr Mashchenko (JIRA)" <>
Subject [jira] [Commented] (WW-4987) Setting Struts2 <s:select> options Css Class
Date Tue, 27 Nov 2018 20:41:00 GMT


Aleksandr Mashchenko commented on WW-4987:

Use plain html optgroup with {{<s:iterator>}}.

The real power of {{listCssClass}} comes from evaluating expression against value stack, so
something like this: {{<s:select list="#{'one':'1', 'two':'2'}" listCssClass="key">}}
will be translated into options with {{class="one"}} and {{class="two"}} respectively. Or
even {{<s:set var="cls" value="#{'one': 'thisinone', 'two': 'thisistwo'}"/> <s:select
list="#{'one':'1', 'two':'2'}" listCssClass="#cls[key]">}} -> {{class="thisinone"}}
and {{class="thisistwo"}}.

The {{listCssClass}} from select can be applied to optgroups in it, but it won't work for
every case. For example if select's {{list}} is a map and optgroup's {{list}} is a list.

> Setting Struts2 <s:select> options Css Class
> --------------------------------------------
>                 Key: WW-4987
>                 URL:
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Core Tags
>    Affects Versions: 2.5.17
>            Reporter: Muhammad Salman
>            Priority: Major
>             Fix For: 2.6, 2.5.19
> Hi
> I am working on an application that is built on struts 2.5.17. I have {{<s:select>}}
tag with <optgroup> and <option>. I am trying to add cssClass to <options>
under <optgroup>. I am trying to add css class to <option> using listCssClass
attribute of {{<s:select>}} but it is not adding class to the <option>. Any help
would be much appreciated.
> Here is code from my JSP:
> {code:xml}
> <s:select list="#\{'none':'-Select Template-'}" id="export-data" cssStyle="width:250px;"
title="templateDesc" cssClass="templateType" onchange="adjustReportText()" name="templateID"
> <s:iterator value="\{SOME MAP WITH KEY AND LIST OF VALUES}" var="TG" status="stat">

> <s:optgroup label="%\{key}" list="%\{value}" listKey="templateId" listValue="templateName"
> </s:iterator> 
> </s:select>
> {code}
>  Initially we were working on struts 2.2.3 version and in that version, cssClass attribute
populates the CSS Class for <option>, but in 2.5.17 neither cssClass is populated class
to <option> nor listCssClass.

This message was sent by Atlassian JIRA

View raw message