diff --git a/core/src/main/java/org/apache/struts2/components/OptGroup.java b/core/src/main/java/org/apache/struts2/components/OptGroup.java index b2b6f0d51..03c6a395c 100644 --- a/core/src/main/java/org/apache/struts2/components/OptGroup.java +++ b/core/src/main/java/org/apache/struts2/components/OptGroup.java @@ -145,4 +145,9 @@ public class OptGroup extends Component { public void setListCssClass(String listCssClass) { internalUiBean.setListCssClass(listCssClass); } + + @StrutsTagAttribute(description = "Property of list objects to get css style from") + public void setListCssStyle(String listCssStyle) { + internalUiBean.setListCssStyle(listCssStyle); + } } diff --git a/core/src/main/java/org/apache/struts2/views/jsp/ui/OptGroupTag.java b/core/src/main/java/org/apache/struts2/views/jsp/ui/OptGroupTag.java index 443e575f5..870c754bc 100644 --- a/core/src/main/java/org/apache/struts2/views/jsp/ui/OptGroupTag.java +++ b/core/src/main/java/org/apache/struts2/views/jsp/ui/OptGroupTag.java @@ -37,6 +37,7 @@ public class OptGroupTag extends ComponentTagSupport { protected String listKey; protected String listValue; protected String listCssClass; + protected String listCssStyle; public Component getBean(ValueStack stack, HttpServletRequest req, HttpServletResponse res) { return new OptGroup(stack, req, res); @@ -52,6 +53,7 @@ public class OptGroupTag extends ComponentTagSupport { optGroup.setListKey(listKey); optGroup.setListValue(listValue); optGroup.setListCssClass(listCssClass); + optGroup.setListCssStyle(listCssStyle); } public void setList(String list) { @@ -77,4 +79,8 @@ public class OptGroupTag extends ComponentTagSupport { public void setListCssClass(String listCssClass) { this.listCssClass = listCssClass; } + + public void setListCssStyle(String listCssStyle) { + this.listCssStyle = listCssStyle; + } } diff --git a/core/src/main/resources/template/simple/optgroup.ftl b/core/src/main/resources/template/simple/optgroup.ftl index 9a4d3a76f..0f04f2130 100644 --- a/core/src/main/resources/template/simple/optgroup.ftl +++ b/core/src/main/resources/template/simple/optgroup.ftl @@ -41,6 +41,12 @@ <#assign optGroupItemCssClass= stack.findString(optGroupInternalListUiBean.parameters.listCssClass)/> #if> #if> + <#assign optGroupItemCssStyle = ''/> + <#if optGroupInternalListUiBean.parameters.listCssStyle??> + <#if stack.findString(optGroupInternalListUiBean.parameters.listCssStyle)??> + <#assign optGroupItemCssStyle= stack.findString(optGroupInternalListUiBean.parameters.listCssStyle)/> + #if> + #if> <#lt> <#assign trash=stack.pop() /> diff --git a/core/src/site/resources/tags/optgroup.html b/core/src/site/resources/tags/optgroup.html index 977a394e5..111fdae28 100644 --- a/core/src/site/resources/tags/optgroup.html +++ b/core/src/site/resources/tags/optgroup.html @@ -65,6 +65,14 @@ Please do not edit it directly.