mirror of
https://github.com/apache/struts.git
synced 2026-08-07 23:57:03 +00:00
Add listCssStyle to optgroup tag
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
<option value="${tmpKeyStr?html}"<#rt>
|
||||
<#if tag.contains(parameters.nameValue, tmpKey) == true>
|
||||
selected="selected"<#rt>
|
||||
@@ -48,6 +54,9 @@
|
||||
<#if optGroupItemCssClass?has_content>
|
||||
class="${optGroupItemCssClass?html}"<#rt/>
|
||||
</#if>
|
||||
<#if optGroupItemCssStyle?has_content>
|
||||
style="${optGroupItemCssStyle?html}"<#rt/>
|
||||
</#if>
|
||||
>${tmpValue?html}<#t>
|
||||
</option><#lt>
|
||||
<#assign trash=stack.pop() />
|
||||
|
||||
@@ -65,6 +65,14 @@ Please do not edit it directly.
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Property of list objects to get css class from</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">listCssStyle</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Property of list objects to get css style from</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">listKey</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
|
||||
@@ -253,17 +253,19 @@ public class OptGroupTest extends AbstractUITagTest {
|
||||
verify(SelectTag.class.getResource("OptGroup-6.txt"));
|
||||
}
|
||||
|
||||
public void testOptGroupListCssClass() throws Exception {
|
||||
public void testOptGroupListAttributes() throws Exception {
|
||||
SelectTag selectTag = new SelectTag();
|
||||
selectTag.setName("mySelection");
|
||||
selectTag.setLabel("My Selection");
|
||||
selectTag.setList("%{#{'ONE':'one','TWO':'two','THREE':'three'}}");
|
||||
selectTag.setListCssClass("'option-css-class'");
|
||||
selectTag.setListCssStyle("'background-color: green;'");
|
||||
|
||||
OptGroupTag optGroupTag1 = new OptGroupTag();
|
||||
optGroupTag1.setLabel("My Label 1");
|
||||
optGroupTag1.setList("%{#{'AAA':'aaa','BBB':'bbb','CCC':'ccc'}}");
|
||||
optGroupTag1.setListCssClass("'optgroup-option-css-class'");
|
||||
optGroupTag1.setListCssStyle("'background-color: blue;'");
|
||||
|
||||
OptGroupTag optGroupTag2 = new OptGroupTag();
|
||||
optGroupTag2.setLabel("My Label 2");
|
||||
|
||||
@@ -2,21 +2,21 @@
|
||||
<td class="tdLabel"><label for="mySelection" class="label">My Selection:</label></td>
|
||||
<td class="tdInput">
|
||||
<select name="mySelection" id="mySelection">
|
||||
<option value="ONE" class="option-css-class">one</option>
|
||||
<option value="TWO" class="option-css-class">two</option>
|
||||
<option value="THREE" class="option-css-class">three</option>
|
||||
<option value="ONE" class="option-css-class" style="background-color: green;">one</option>
|
||||
<option value="TWO" class="option-css-class" style="background-color: green;">two</option>
|
||||
<option value="THREE" class="option-css-class" style="background-color: green;">three</option>
|
||||
|
||||
<optgroup
|
||||
label="My Label 1"
|
||||
>
|
||||
|
||||
<option value="AAA" class="optgroup-option-css-class"
|
||||
<option value="AAA" class="optgroup-option-css-class" style="background-color: blue;"
|
||||
>aaa
|
||||
</option>
|
||||
<option value="BBB" class="optgroup-option-css-class"
|
||||
<option value="BBB" class="optgroup-option-css-class" style="background-color: blue;"
|
||||
>bbb
|
||||
</option>
|
||||
<option value="CCC" class="optgroup-option-css-class"
|
||||
<option value="CCC" class="optgroup-option-css-class" style="background-color: blue;"
|
||||
>ccc
|
||||
</option>
|
||||
</optgroup>
|
||||
|
||||
Reference in New Issue
Block a user