[ https://issues.apache.org/jira/browse/WW-4987?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16700989#comment-16700989 ]
Aleksandr Mashchenko edited comment on WW-4987 at 11/27/18 8:43 PM: -------------------------------------------------------------------- Use plain html optgroup with {{<s:iterator>}}. The real power of {{listCssClass}} comes from evaluating expression against value stack, so something like this: {code:java} <s:select list="#{'one':'1', 'two':'2'}" listCssClass="key"/> {code} will be translated into options with {{class="one"}} and {{class="two"}} respectively. Or even {code:java} <s:set var="cls" value="#{'one': 'thisinone', 'two': 'thisistwo'}"/> <s:select list="#{'one':'1', 'two':'2'}" listCssClass="#cls[key]"/> {code} -> {{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. was (Author: aleksandr-m): Use plain html optgroup with {{<s:iterator>}}. The real power of {{listCssClass}} comes from evaluating expression against value stack, so something like this: {code:java} <s:select list="#{'one':'1', 'two':'2'}" listCssClass="key"/> {code} will be translated into options with {{class="one"}} and {{class="two"}} respectively. Or even {code:java} <s:set var="cls" value="#{'one': 'thisinone', 'two': 'thisistwo'}"/> <s:select list="#{'one':'1', 'two':'2'}" listCssClass="#cls[key]"/> {code} -> {{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: https://issues.apache.org/jira/browse/WW-4987 > 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" listCssClass="templateType"> > <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:optgroup> > </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 (v7.6.3#76005)