You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2014/07/30 09:16:37 UTC
[01/17] git commit: [PATCH] First attempt at enabling value-labels to
be pulled from Locale Files. Adding listValueKey attribute to checkboxList,
radioMap, and select tags.
Repository: struts
Updated Branches:
refs/heads/develop 935cd33f7 -> 09012d7e5
refs/heads/feature/WW-4295-localization d20c2f10b -> 8e6f198d4
[PATCH] First attempt at enabling value-labels to be pulled from
Locale Files. Adding listValueKey attribute to checkboxList, radioMap, and
select tags.
Issues:
This implementation uses the <@s.text> tag to handle the localization with an assignment. I presume this is less than idea, but I lack the knowledge of the Struts2 tag model that would suggest where to check for this on the valueStack or elsewhere.
Example:
public enum yesno {
YES, NO;
}
<@s.radio name="yes no" list="#{yesno.values()}" valueKey="name()" />
<!-- this will look for the name() in the locale file and emit the localized value for the label of the radio button.
Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/7f586d39
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/7f586d39
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/7f586d39
Branch: refs/heads/develop
Commit: 7f586d39b7f8411e22fd13de8025f1866477fc3c
Parents: 3ceb3b9
Author: adam brin <ad...@asu.edu>
Authored: Tue Mar 18 07:36:28 2014 -0700
Committer: adam brin <ad...@asu.edu>
Committed: Tue Mar 18 07:36:28 2014 -0700
----------------------------------------------------------------------
core/src/main/resources/template/simple/checkboxlist.ftl | 8 +++++++-
core/src/main/resources/template/simple/radiomap.ftl | 8 +++++++-
core/src/main/resources/template/simple/select.ftl | 8 +++++++-
3 files changed, 21 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/7f586d39/core/src/main/resources/template/simple/checkboxlist.ftl
----------------------------------------------------------------------
diff --git a/core/src/main/resources/template/simple/checkboxlist.ftl b/core/src/main/resources/template/simple/checkboxlist.ftl
index ba04196..9662e42 100644
--- a/core/src/main/resources/template/simple/checkboxlist.ftl
+++ b/core/src/main/resources/template/simple/checkboxlist.ftl
@@ -29,7 +29,13 @@
<#else>
<#assign itemKey = stack.findValue('top')/>
</#if>
- <#if parameters.listValue??>
+ <#if parameters.listValueKey??>
+ <#-- checks the valueStack for the 'valueKey.' The valueKey is then looked-up in the locale
+ file for it's localized value. This is then used as a label -->
+ <#assign itemValue = stack.findString(parameters.listValueKey)/>
+ <#-- FIXME: find a better way to get the value than a call to @s.text -->
+ <#assign itemValue><@s.text name="${itemValue}"/></#assign>
+ <#elseif parameters.listValue??>
<#assign itemValue = stack.findString(parameters.listValue)?default("")/>
<#else>
<#assign itemValue = stack.findString('top')/>
http://git-wip-us.apache.org/repos/asf/struts/blob/7f586d39/core/src/main/resources/template/simple/radiomap.ftl
----------------------------------------------------------------------
diff --git a/core/src/main/resources/template/simple/radiomap.ftl b/core/src/main/resources/template/simple/radiomap.ftl
index ab6d42c..183fd57 100644
--- a/core/src/main/resources/template/simple/radiomap.ftl
+++ b/core/src/main/resources/template/simple/radiomap.ftl
@@ -27,7 +27,13 @@
<#assign itemKey = stack.findValue('top')/>
</#if>
<#assign itemKeyStr = itemKey.toString() />
- <#if parameters.listValue??>
+ <#if parameters.listValueKey??>
+ <#-- checks the valueStack for the 'valueKey.' The valueKey is then looked-up in the locale
+ file for it's localized value. This is then used as a label -->
+ <#assign itemValue = stack.findString(parameters.listValueKey)/>
+ <#-- FIXME: find a better way to get the value than a call to @s.text -->
+ <#assign itemValue><@s.text name="${itemValue}"/></#assign>
+ <#elseif parameters.listValue??>
<#assign itemValue = stack.findString(parameters.listValue)/>
<#else>
<#assign itemValue = stack.findString('top')/>
http://git-wip-us.apache.org/repos/asf/struts/blob/7f586d39/core/src/main/resources/template/simple/select.ftl
----------------------------------------------------------------------
diff --git a/core/src/main/resources/template/simple/select.ftl b/core/src/main/resources/template/simple/select.ftl
index 74277e6..f4f27bf 100644
--- a/core/src/main/resources/template/simple/select.ftl
+++ b/core/src/main/resources/template/simple/select.ftl
@@ -69,7 +69,13 @@
<#assign itemKey = stack.findValue('top')/>
<#assign itemKeyStr = stack.findString('top')>
</#if>
- <#if parameters.listValue??>
+ <#if parameters.listValueKey??>
+ <#-- checks the valueStack for the 'valueKey.' The valueKey is then looked-up in the locale file for it's
+ localized value. This is then used as a label -->
+ <#assign itemValue = stack.findString(parameters.listValueKey)/>
+ <#-- FIXME: find a better way to get the value than a call to @s.text -->
+ <#assign itemValue><@s.text name="${itemValue}"/></#assign>
+ <#elseif parameters.listValue??>
<#if stack.findString(parameters.listValue)??>
<#assign itemValue = stack.findString(parameters.listValue)/>
<#else>
[07/17] git commit: Merge remote-tracking branch
'abrin/feature-WW-4295-localization' into feature/WW-4295-localization
Posted by lu...@apache.org.
Merge remote-tracking branch 'abrin/feature-WW-4295-localization' into feature/WW-4295-localization
Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/23498a33
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/23498a33
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/23498a33
Branch: refs/heads/develop
Commit: 23498a332119486a043e852366dfb73495a510d9
Parents: b78349a 6def514
Author: Lukasz Lenart <lu...@apache.org>
Authored: Fri Jun 27 08:40:49 2014 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Fri Jun 27 08:40:49 2014 +0200
----------------------------------------------------------------------
.../java/org/apache/struts2/components/ListUIBean.java | 13 +++++++++++++
1 file changed, 13 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/23498a33/core/src/main/java/org/apache/struts2/components/ListUIBean.java
----------------------------------------------------------------------
diff --cc core/src/main/java/org/apache/struts2/components/ListUIBean.java
index 11e59aa,69deae4..c9f704a
--- a/core/src/main/java/org/apache/struts2/components/ListUIBean.java
+++ b/core/src/main/java/org/apache/struts2/components/ListUIBean.java
@@@ -48,8 -48,8 +48,9 @@@ import java.util.Map
public abstract class ListUIBean extends UIBean {
protected Object list;
protected String listKey;
+ protected String listValueKey;
protected String listValue;
+ protected String listLabelKey;
protected String listCssClass;
protected String listCssStyle;
protected String listTitle;
[13/17] git commit: Merge branch 'develop' into
feature/WW-4295-localization
Posted by lu...@apache.org.
Merge branch 'develop' into feature/WW-4295-localization
Conflicts:
core/src/site/resources/tags/checkboxlist.html
Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/d20c2f10
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/d20c2f10
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/d20c2f10
Branch: refs/heads/develop
Commit: d20c2f10b7ccb2830eb255062b45941684b55336
Parents: d67fce1 63de773
Author: Lukasz Lenart <lu...@apache.org>
Authored: Fri Jun 27 13:15:10 2014 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Fri Jun 27 13:15:10 2014 +0200
----------------------------------------------------------------------
apps/blank/pom.xml | 2 +-
apps/jboss-blank/pom.xml | 2 +-
apps/mailreader/pom.xml | 2 +-
apps/pom.xml | 2 +-
apps/portlet/pom.xml | 2 +-
apps/rest-showcase/pom.xml | 4 +-
apps/showcase/pom.xml | 2 +-
archetypes/pom.xml | 2 +-
archetypes/struts2-archetype-angularjs/pom.xml | 2 +-
archetypes/struts2-archetype-blank/pom.xml | 2 +-
.../src/main/resources/example.xml | 6 +-
.../main/webapp/WEB-INF/example/HelloWorld.jsp | 28 ++
.../src/main/webapp/WEB-INF/example/Login.jsp | 15 +
.../src/main/webapp/WEB-INF/example/Menu.jsp | 3 +
.../src/main/webapp/WEB-INF/example/Missing.jsp | 11 +
.../main/webapp/WEB-INF/example/Register.jsp | 3 +
.../src/main/webapp/WEB-INF/example/Welcome.jsp | 18 +
.../src/main/webapp/example/HelloWorld.jsp | 28 --
.../src/main/webapp/example/Login.jsp | 15 -
.../src/main/webapp/example/Menu.jsp | 3 -
.../src/main/webapp/example/Missing.jsp | 11 -
.../src/main/webapp/example/Register.jsp | 3 -
.../src/main/webapp/example/Welcome.jsp | 18 -
archetypes/struts2-archetype-convention/pom.xml | 2 +-
archetypes/struts2-archetype-dbportlet/pom.xml | 2 +-
archetypes/struts2-archetype-plugin/pom.xml | 2 +-
archetypes/struts2-archetype-portlet/pom.xml | 2 +-
archetypes/struts2-archetype-starter/pom.xml | 2 +-
.../src/main/resources/struts.xml | 4 +-
.../src/main/webapp/WEB-INF/jsp/helloWorld.jsp | 16 +
.../src/main/webapp/WEB-INF/jsp/index.jsp | 20 +
.../src/main/webapp/jsp/helloWorld.jsp | 16 -
.../src/main/webapp/jsp/index.jsp | 20 -
assembly/pom.xml | 88 ++---
assembly/src/main/assembly/all.xml | 12 +-
assembly/src/main/assembly/docs.xml | 2 +-
bundles/admin/pom.xml | 2 +-
bundles/demo/pom.xml | 2 +-
bundles/pom.xml | 2 +-
core/pom.xml | 2 +-
.../org/apache/struts2/StrutsConstants.java | 16 +
.../struts2/components/DateTextField.java | 51 +++
.../struts2/components/GenericUIBean.java | 5 +-
.../org/apache/struts2/components/UIBean.java | 9 +-
.../config/DefaultBeanSelectionProvider.java | 22 +-
.../dispatcher/ServletRedirectResult.java | 48 ++-
.../struts2/dispatcher/StrutsResultSupport.java | 75 +++-
.../struts2/interceptor/CookieInterceptor.java | 75 +++-
.../interceptor/DateTextFieldInterceptor.java | 128 +++++++
.../views/freemarker/FreemarkerResult.java | 18 +-
.../struts2/views/jsp/ui/DateTextFieldTag.java | 35 ++
.../org/apache/struts2/default.properties | 6 +-
.../struts2/interceptor/debugging/browser.ftl | 21 +-
.../struts2/interceptor/debugging/console.ftl | 4 +-
.../interceptor/debugging/webconsole.html | 30 +-
.../struts2/interceptor/debugging/webconsole.js | 99 +++--
core/src/main/resources/struts-default.xml | 32 +-
.../resources/template/css_xhtml/checkbox.ftl | 17 +-
.../template/css_xhtml/controlfooter.ftl | 7 +-
.../template/css_xhtml/controlheader-core.ftl | 9 +-
.../template/css_xhtml/controlheader.ftl | 7 +-
.../main/resources/template/css_xhtml/reset.ftl | 9 +-
.../template/css_xhtml/submit-close.ftl | 7 +-
.../resources/template/css_xhtml/submit.ftl | 7 +-
.../resources/template/simple/checkboxlist.ftl | 14 +-
.../main/resources/template/simple/radiomap.ftl | 8 -
.../main/resources/template/xhtml/checkbox.ftl | 15 +-
.../template/xhtml/controlheader-core.ftl | 9 +-
core/src/site/resources/tags/datetextfield.html | 376 +++++++++++++++++++
.../struts2/TestConfigurationProvider.java | 5 +
.../dispatcher/ServletRedirectResultTest.java | 109 ++++--
.../dispatcher/StrutsResultSupportTest.java | 31 ++
.../interceptor/CookieInterceptorTest.java | 130 +++++++
.../DateTextFieldInterceptorTest.java | 58 +++
.../ExecuteAndWaitInterceptorTest.java | 2 +
.../views/freemarker/FreeMarkerResultTest.java | 3 +
.../struts2/views/jsp/PropertyTagTest.java | 30 +-
.../struts2/views/jsp/ui/FormTagTest.java | 82 ++++
.../apache/struts2/views/jsp/ui/SelectTest.java | 2 +-
.../apache/struts2/views/jsp/ui/Formtag-27.txt | 10 +
.../apache/struts2/views/jsp/ui/Formtag-28.txt | 10 +
plugins/cdi/pom.xml | 2 +-
plugins/codebehind/pom.xml | 2 +-
plugins/config-browser/pom.xml | 2 +-
plugins/convention/pom.xml | 2 +-
plugins/dojo/pom.xml | 2 +-
plugins/dwr/pom.xml | 2 +-
plugins/embeddedjsp/pom.xml | 2 +-
plugins/gxp/pom.xml | 2 +-
plugins/jasperreports/pom.xml | 2 +-
plugins/javatemplates/pom.xml | 2 +-
.../apache/struts2/views/java/DefaultTheme.java | 6 +-
.../views/java/simple/DateTextFieldHandler.java | 91 +++++
.../struts2/views/java/simple/SimpleTheme.java | 1 +
.../views/java/simple/DateTextFieldTest.java | 51 +++
plugins/jfreechart/pom.xml | 2 +-
plugins/jsf/pom.xml | 2 +-
plugins/json/pom.xml | 2 +-
plugins/junit/pom.xml | 2 +-
plugins/osgi/pom.xml | 2 +-
plugins/oval/pom.xml | 2 +-
plugins/pell-multipart/pom.xml | 2 +-
plugins/plexus/pom.xml | 2 +-
plugins/pom.xml | 2 +-
plugins/portlet-tiles/pom.xml | 2 +-
plugins/portlet/pom.xml | 2 +-
plugins/rest/pom.xml | 4 +-
.../struts2/rest/RestActionInvocationTest.java | 2 +
plugins/sitegraph/pom.xml | 2 +-
plugins/sitemesh/pom.xml | 2 +-
plugins/spring/pom.xml | 2 +-
plugins/struts1/pom.xml | 2 +-
plugins/testng/pom.xml | 2 +-
plugins/tiles/pom.xml | 2 +-
plugins/tiles3/pom.xml | 2 +-
pom.xml | 14 +-
src/site/resources/archetype-catalog.xml | 12 +-
xwork-core/pom.xml | 2 +-
.../xwork2/DefaultActionInvocation.java | 54 +--
.../com/opensymphony/xwork2/XWorkConstants.java | 10 +
.../xwork2/config/entities/ActionConfig.java | 1 +
.../config/entities/ExceptionMappingConfig.java | 1 +
.../config/entities/InterceptorConfig.java | 1 +
.../config/entities/InterceptorStackConfig.java | 1 +
.../xwork2/config/entities/PackageConfig.java | 1 +
.../xwork2/config/entities/ResultConfig.java | 1 +
.../config/entities/ResultTypeConfig.java | 1 +
.../config/entities/UnknownHandlerConfig.java | 8 +-
.../config/impl/DefaultConfiguration.java | 7 +
.../providers/XWorkConfigurationProvider.java | 11 +-
.../providers/XmlConfigurationProvider.java | 5 +-
.../conversion/impl/DefaultTypeConverter.java | 4 +-
.../xwork2/interceptor/I18nInterceptor.java | 2 +-
.../interceptor/ParametersInterceptor.java | 127 ++++---
.../opensymphony/xwork2/mock/MockResult.java | 2 +
.../com/opensymphony/xwork2/ognl/OgnlUtil.java | 158 ++++++--
.../xwork2/ognl/OgnlValueStack.java | 6 +-
.../xwork2/ognl/SecurityMemberAccess.java | 50 ++-
.../ognl/accessor/CompoundRootAccessor.java | 27 +-
.../security/AcceptedPatternsChecker.java | 82 ++++
.../DefaultAcceptedPatternsChecker.java | 86 +++++
.../DefaultExcludedPatternsChecker.java | 95 +++++
.../security/ExcludedPatternsChecker.java | 82 ++++
.../xwork2/spring/SpringObjectFactory.java | 2 +-
.../opensymphony/xwork2/util/TextParseUtil.java | 87 +++++
.../xwork2/util/logging/Logger.java | 4 +
.../util/logging/commons/CommonsLogger.java | 4 +
.../xwork2/util/logging/jdk/JdkLogger.java | 4 +
.../xwork2/util/logging/slf4j/Slf4jLogger.java | 4 +
.../validator/DelegatingValidatorContext.java | 21 +-
.../xwork2/DefaultActionInvocationTest.java | 8 +
.../impl/AnnotationXWorkConverterTest.java | 10 +-
.../interceptor/ParametersInterceptorTest.java | 168 ++++++++-
.../opensymphony/xwork2/ognl/OgnlUtilTest.java | 164 +++++++-
.../xwork2/ognl/OgnlValueStackTest.java | 1 +
.../xwork2/ognl/SecurityMemberAccessTest.java | 236 ++++++++++++
.../DefaultAcceptedPatternsCheckerTest.java | 56 +++
.../DefaultExcludedPatternsCheckerTest.java | 60 +++
.../xwork2/util/TextParseUtilTest.java | 45 ++-
.../validator/VisitorFieldValidatorTest.java | 2 +-
.../xwork2/AnnotatedTestBean.properties | 5 -
.../TestBean-beanMessageBundle-validation.xml | 2 +-
.../test/resources/xwork-class-param-test.xml | 11 +
.../src/test/resources/xwork-param-test.xml | 1 +
.../src/test/resources/xwork-test-beans.xml | 24 +-
165 files changed, 3335 insertions(+), 657 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/d20c2f10/core/src/main/resources/template/simple/checkboxlist.ftl
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/d20c2f10/core/src/main/resources/template/simple/radiomap.ftl
----------------------------------------------------------------------
[02/17] git commit: Adds additional field to allow set label key used
in I18N lookup
Posted by lu...@apache.org.
Adds additional field to allow set label key used in I18N lookup
Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/90189362
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/90189362
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/90189362
Branch: refs/heads/develop
Commit: 901893628b31ee3b38b2fc9196045a097a0f4217
Parents: 7f586d3
Author: Lukasz Lenart <lu...@apache.org>
Authored: Thu Mar 20 08:08:03 2014 +0100
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Thu Mar 20 08:08:03 2014 +0100
----------------------------------------------------------------------
.../java/org/apache/struts2/components/ListUIBean.java | 11 +++++++++++
.../org/apache/struts2/views/jsp/ui/AbstractListTag.java | 6 ++++++
2 files changed, 17 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/90189362/core/src/main/java/org/apache/struts2/components/ListUIBean.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/ListUIBean.java b/core/src/main/java/org/apache/struts2/components/ListUIBean.java
index b1a4493..11e59aa 100644
--- a/core/src/main/java/org/apache/struts2/components/ListUIBean.java
+++ b/core/src/main/java/org/apache/struts2/components/ListUIBean.java
@@ -49,6 +49,7 @@ public abstract class ListUIBean extends UIBean {
protected Object list;
protected String listKey;
protected String listValue;
+ protected String listLabelKey;
protected String listCssClass;
protected String listCssStyle;
protected String listTitle;
@@ -115,6 +116,11 @@ public abstract class ListUIBean extends UIBean {
addParameter("listValue", "value");
}
+ if (listLabelKey != null) {
+ listLabelKey = stripExpressionIfAltSyntax(listLabelKey);
+ addParameter("listLabelKey", listLabelKey);
+ }
+
if (listCssClass != null && listCssClass.trim().length() > 0) {
addParameter("listCssClass", listCssClass);
}
@@ -152,6 +158,11 @@ public abstract class ListUIBean extends UIBean {
this.listValue = listValue;
}
+ @StrutsTagAttribute(description = "Property of list objects to be used to lookup for localised version of field label")
+ public void setListLabelKey(String listLabelKey) {
+ this.listLabelKey = listLabelKey;
+ }
+
@StrutsTagAttribute(description = "Property of list objects to get css class from")
public void setListCssClass(String listCssClass) {
this.listCssClass = listCssClass;
http://git-wip-us.apache.org/repos/asf/struts/blob/90189362/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractListTag.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractListTag.java b/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractListTag.java
index 1f2ebb4..4972ff0 100644
--- a/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractListTag.java
+++ b/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractListTag.java
@@ -29,6 +29,7 @@ public abstract class AbstractListTag extends AbstractUITag {
protected String list;
protected String listKey;
protected String listValue;
+ protected String listLabelKey;
protected String listCssClass;
protected String listCssStyle;
protected String listTitle;
@@ -40,6 +41,7 @@ public abstract class AbstractListTag extends AbstractUITag {
listUIBean.setList(list);
listUIBean.setListKey(listKey);
listUIBean.setListValue(listValue);
+ listUIBean.setListLabelKey(listLabelKey);
listUIBean.setListCssClass(listCssClass);
listUIBean.setListCssStyle(listCssStyle);
listUIBean.setListTitle(listTitle);
@@ -57,6 +59,10 @@ public abstract class AbstractListTag extends AbstractUITag {
this.listValue = listValue;
}
+ public void setListLabelKey(String listLabelKey) {
+ this.listLabelKey = listLabelKey;
+ }
+
public void setListCssClass(String listCssClass) {
this.listCssClass = listCssClass;
}
[09/17] git commit: Adds missing tag attribute field
Posted by lu...@apache.org.
Adds missing tag attribute field
Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/13269fa1
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/13269fa1
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/13269fa1
Branch: refs/heads/develop
Commit: 13269fa15f02409732ca51545141a40ae2f4680c
Parents: ca230ab
Author: Lukasz Lenart <lu...@apache.org>
Authored: Fri Jun 27 12:54:44 2014 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Fri Jun 27 12:54:44 2014 +0200
----------------------------------------------------------------------
.../java/org/apache/struts2/views/jsp/ui/AbstractListTag.java | 6 ++++++
1 file changed, 6 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/13269fa1/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractListTag.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractListTag.java b/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractListTag.java
index 4972ff0..9b96f4a 100644
--- a/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractListTag.java
+++ b/core/src/main/java/org/apache/struts2/views/jsp/ui/AbstractListTag.java
@@ -29,6 +29,7 @@ public abstract class AbstractListTag extends AbstractUITag {
protected String list;
protected String listKey;
protected String listValue;
+ protected String listValueKey;
protected String listLabelKey;
protected String listCssClass;
protected String listCssStyle;
@@ -41,6 +42,7 @@ public abstract class AbstractListTag extends AbstractUITag {
listUIBean.setList(list);
listUIBean.setListKey(listKey);
listUIBean.setListValue(listValue);
+ listUIBean.setListValueKey(listValueKey);
listUIBean.setListLabelKey(listLabelKey);
listUIBean.setListCssClass(listCssClass);
listUIBean.setListCssStyle(listCssStyle);
@@ -59,6 +61,10 @@ public abstract class AbstractListTag extends AbstractUITag {
this.listValue = listValue;
}
+ public void setListValueKey(String listValueKey) {
+ this.listValueKey = listValueKey;
+ }
+
public void setListLabelKey(String listLabelKey) {
this.listLabelKey = listLabelKey;
}
[16/17] git commit: WW-4295 finishes work
Posted by lu...@apache.org.
WW-4295 finishes work
Conflicts:
core/src/main/resources/template/simple/checkboxlist.ftl
core/src/site/resources/tags/checkboxlist.html
Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/3b25242c
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/3b25242c
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/3b25242c
Branch: refs/heads/develop
Commit: 3b25242c7d98d6564d81ec39f0df54bc02181f71
Parents: 935cd33 8e6f198
Author: Lukasz Lenart <lu...@apache.org>
Authored: Wed Jul 30 09:10:59 2014 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Wed Jul 30 09:10:59 2014 +0200
----------------------------------------------------------------------
.../blank/src/main/java/example/HelloWorld.java | 7 ++++
apps/blank/src/main/java/example/YesNo.java | 5 +++
.../main/resources/example/package.properties | 2 +
.../webapp/WEB-INF/jsp/example/HelloWorld.jsp | 2 +
.../apache/struts2/components/ListUIBean.java | 22 ++++++++++
.../struts2/views/jsp/ui/AbstractListTag.java | 12 ++++++
.../resources/template/simple/checkboxlist.ftl | 10 +++--
.../main/resources/template/simple/radiomap.ftl | 8 +++-
.../main/resources/template/simple/select.ftl | 13 +++++-
core/src/site/resources/tags/checkboxlist.html | 16 +++++++
core/src/site/resources/tags/doubleselect.html | 16 +++++++
.../resources/tags/inputtransferselect.html | 16 +++++++
.../resources/tags/optiontransferselect.html | 16 +++++++
core/src/site/resources/tags/radio.html | 16 +++++++
core/src/site/resources/tags/select.html | 16 +++++++
core/src/site/resources/tags/updownselect.html | 16 +++++++
.../views/jsp/ui/LocaleKeyValueTest.java | 11 +++++
.../struts2/views/jsp/ui/LocaleTestAction.java | 17 ++++++++
.../struts2/views/jsp/ui/OptGroupTest.java | 44 ++++++++++++++++++--
.../apache/struts2/views/jsp/ui/OptGroup-6.txt | 40 ++++++++++++++++++
20 files changed, 295 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/3b25242c/core/src/main/resources/template/simple/checkboxlist.ftl
----------------------------------------------------------------------
diff --cc core/src/main/resources/template/simple/checkboxlist.ftl
index 35c1fd3,be5f55a..d50a98f
--- a/core/src/main/resources/template/simple/checkboxlist.ftl
+++ b/core/src/main/resources/template/simple/checkboxlist.ftl
@@@ -29,10 -29,14 +29,14 @@@
<#else>
<#assign itemKey = stack.findValue('top')/>
</#if>
- <#if parameters.listValue??>
+ <#if parameters.listLabelKey??>
+ <#-- checks the valueStack for the 'valueKey.' The valueKey is then looked-up in the locale
+ file for it's localized value. This is then used as a label -->
+ <#assign itemValue = struts.getText(stack.findString(parameters.listLabelKey))/>
+ <#elseif parameters.listValue??>
- <#assign itemValue = stack.findString(parameters.listValue)?default("")/>
+ <#assign itemValue = stack.findString(parameters.listValue)!""/>
- <#else>
- <#assign itemValue = stack.findString('top')/>
+ <#else>
+ <#assign itemValue = stack.findString('top')/>
</#if>
<#if parameters.listCssClass??>
<#if stack.findString(parameters.listCssClass)??>
http://git-wip-us.apache.org/repos/asf/struts/blob/3b25242c/core/src/main/resources/template/simple/radiomap.ftl
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/3b25242c/core/src/main/resources/template/simple/select.ftl
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/3b25242c/core/src/site/resources/tags/checkboxlist.html
----------------------------------------------------------------------
diff --cc core/src/site/resources/tags/checkboxlist.html
index ac77ab7,1bcb2ea..5359aa9
--- a/core/src/site/resources/tags/checkboxlist.html
+++ b/core/src/site/resources/tags/checkboxlist.html
@@@ -1,440 -1,432 +1,456 @@@
-<!--
-This file is generated during the build by processing Component class annotations.
-Please do not edit it directly.
--->
-<html>
- <head>
- <title>checkboxlist</title>
- </head>
-
- <body>
- <h1>Tag Name: checkboxlist</h1>
- <h2>Description</h2>
- <p>
- <!-- START SNIPPET: tagdescription -->
- Render a list of checkboxes
- <!-- END SNIPPET: tagdescription -->
- </p>
-
- <h2>Attributes</h2>
- <!-- START SNIPPET: tagattributes -->
- <table width="100%">
- <tr>
- <td colspan="6"><h4>Dynamic Attributes Allowed:</h4> true</td>
- </tr>
- <tr>
- <td colspan="6"> </td>
- </tr>
- <tr>
- <th align="left" valign="top"><h4>Name</h4></th>
- <th align="left" valign="top"><h4>Required</h4></th>
- <th align="left" valign="top"><h4>Default</h4></th>
- <th align="left" valign="top"><h4>Evaluated</h4></th>
- <th align="left" valign="top"><h4>Type</h4></th>
- <th align="left" valign="top"><h4>Description</h4></th>
- </tr>
- <tr>
- <td align="left" valign="top">accesskey</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">Set the html accesskey attribute on rendered html element</td>
- </tr>
- <tr>
- <td align="left" valign="top">cssClass</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">The css class to use for element</td>
- </tr>
- <tr>
- <td align="left" valign="top">cssErrorClass</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">The css error class to use for element</td>
- </tr>
- <tr>
- <td align="left" valign="top">cssErrorStyle</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">The css error style definitions for element to use</td>
- </tr>
- <tr>
- <td align="left" valign="top">cssStyle</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">The css style definitions for element to use</td>
- </tr>
- <tr>
- <td align="left" valign="top">disabled</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">Set the html disabled attribute on rendered html element</td>
- </tr>
- <tr>
- <td align="left" valign="top">errorPosition</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">Define error position of form element (top|bottom)</td>
- </tr>
- <tr>
- <td align="left" valign="top">id</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">HTML id attribute</td>
- </tr>
- <tr>
- <td align="left" valign="top">javascriptTooltip</td>
- <td align="left" valign="top">false</td>
- <td align="left" valign="top">false</td>
- <td align="left" valign="top">false</td>
- <td align="left" valign="top">Boolean</td>
- <td align="left" valign="top">Use JavaScript to generate tooltips</td>
- </tr>
- <tr>
- <td align="left" valign="top">key</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">Set the key (name, value, label) for this particular component</td>
- </tr>
- <tr>
- <td align="left" valign="top">label</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">Label expression used for rendering an element specific label</td>
- </tr>
- <tr>
- <td align="left" valign="top">labelSeparator</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">String that will be appended to the label</td>
- </tr>
- <tr>
- <td align="left" valign="top">labelposition</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">Define label position of form element (top/left)</td>
- </tr>
- <tr>
- <td align="left" valign="top">list</td>
- <td align="left" valign="top"><strong>true</strong></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">Iterable source to populate from. If the list is a Map (key, value), the Map key will become the option 'value' parameter and the Map value will become the option body.</td>
- </tr>
- <tr>
- <td align="left" valign="top">listCssClass</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 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>
- <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 field value from</td>
- </tr>
- <tr>
- <td align="left" valign="top">listLabelKey</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 be used to lookup for localised version of field label</td>
- </tr>
- <tr>
- <td align="left" valign="top">listTitle</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 title from</td>
- </tr>
- <tr>
- <td align="left" valign="top">listValue</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 field content from</td>
- </tr>
- <tr>
- <td align="left" valign="top">listValueKey</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 field value label from</td>
- </tr>
- <tr>
- <td align="left" valign="top">name</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">The name to set for element</td>
- </tr>
- <tr>
- <td align="left" valign="top">onblur</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"> Set the html onblur attribute on rendered html element</td>
- </tr>
- <tr>
- <td align="left" valign="top">onchange</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">Set the html onchange attribute on rendered html element</td>
- </tr>
- <tr>
- <td align="left" valign="top">onclick</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">Set the html onclick attribute on rendered html element</td>
- </tr>
- <tr>
- <td align="left" valign="top">ondblclick</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">Set the html ondblclick attribute on rendered html element</td>
- </tr>
- <tr>
- <td align="left" valign="top">onfocus</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">Set the html onfocus attribute on rendered html element</td>
- </tr>
- <tr>
- <td align="left" valign="top">onkeydown</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">Set the html onkeydown attribute on rendered html element</td>
- </tr>
- <tr>
- <td align="left" valign="top">onkeypress</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">Set the html onkeypress attribute on rendered html element</td>
- </tr>
- <tr>
- <td align="left" valign="top">onkeyup</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">Set the html onkeyup attribute on rendered html element</td>
- </tr>
- <tr>
- <td align="left" valign="top">onmousedown</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">Set the html onmousedown attribute on rendered html element</td>
- </tr>
- <tr>
- <td align="left" valign="top">onmousemove</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">Set the html onmousemove attribute on rendered html element</td>
- </tr>
- <tr>
- <td align="left" valign="top">onmouseout</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">Set the html onmouseout attribute on rendered html element</td>
- </tr>
- <tr>
- <td align="left" valign="top">onmouseover</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">Set the html onmouseover attribute on rendered html element</td>
- </tr>
- <tr>
- <td align="left" valign="top">onmouseup</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">Set the html onmouseup attribute on rendered html element</td>
- </tr>
- <tr>
- <td align="left" valign="top">onselect</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">Set the html onselect attribute on rendered html element</td>
- </tr>
- <tr>
- <td align="left" valign="top">requiredLabel</td>
- <td align="left" valign="top">false</td>
- <td align="left" valign="top">false</td>
- <td align="left" valign="top">false</td>
- <td align="left" valign="top">Boolean</td>
- <td align="left" valign="top">If set to true, the rendered element will indicate that input is required</td>
- </tr>
- <tr>
- <td align="left" valign="top">requiredPosition</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">Define required position of required form element (left|right)</td>
- </tr>
- <tr>
- <td align="left" valign="top">tabindex</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">Set the html tabindex attribute on rendered html element</td>
- </tr>
- <tr>
- <td align="left" valign="top">template</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">The template (other than default) to use for rendering the element</td>
- </tr>
- <tr>
- <td align="left" valign="top">templateDir</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">The template directory.</td>
- </tr>
- <tr>
- <td align="left" valign="top">theme</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">The theme (other than default) to use for rendering the element</td>
- </tr>
- <tr>
- <td align="left" valign="top">title</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">Set the html title attribute on rendered html element</td>
- </tr>
- <tr>
- <td align="left" valign="top">tooltip</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">Set the tooltip of this particular component</td>
- </tr>
- <tr>
- <td align="left" valign="top">tooltipConfig</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">Deprecated. Use individual tooltip configuration attributes instead.</td>
- </tr>
- <tr>
- <td align="left" valign="top">tooltipCssClass</td>
- <td align="left" valign="top">false</td>
- <td align="left" valign="top">StrutsTTClassic</td>
- <td align="left" valign="top">false</td>
- <td align="left" valign="top">String</td>
- <td align="left" valign="top">CSS class applied to JavaScrip tooltips</td>
- </tr>
- <tr>
- <td align="left" valign="top">tooltipDelay</td>
- <td align="left" valign="top">false</td>
- <td align="left" valign="top">Classic</td>
- <td align="left" valign="top">false</td>
- <td align="left" valign="top">String</td>
- <td align="left" valign="top">Delay in milliseconds, before showing JavaScript tooltips </td>
- </tr>
- <tr>
- <td align="left" valign="top">tooltipIconPath</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">Icon path used for image that will have the tooltip</td>
- </tr>
- <tr>
- <td align="left" valign="top">value</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">Preset the value of input element.</td>
- </tr>
- </table>
- <!-- END SNIPPET: tagattributes -->
- </body>
-</html>
-
+<!--
+This file is generated during the build by processing Component class annotations.
+Please do not edit it directly.
+-->
+<html>
+ <head>
+ <title>checkboxlist</title>
+ </head>
+
+ <body>
+ <h1>Tag Name: checkboxlist</h1>
+ <h2>Description</h2>
+ <p>
+ <!-- START SNIPPET: tagdescription -->
+ Render a list of checkboxes
+ <!-- END SNIPPET: tagdescription -->
+ </p>
+
+ <h2>Attributes</h2>
+ <!-- START SNIPPET: tagattributes -->
+ <table width="100%">
+ <tr>
+ <td colspan="6"><h4>Dynamic Attributes Allowed:</h4> true</td>
+ </tr>
+ <tr>
+ <td colspan="6"> </td>
+ </tr>
+ <tr>
+ <th align="left" valign="top"><h4>Name</h4></th>
+ <th align="left" valign="top"><h4>Required</h4></th>
+ <th align="left" valign="top"><h4>Default</h4></th>
+ <th align="left" valign="top"><h4>Evaluated</h4></th>
+ <th align="left" valign="top"><h4>Type</h4></th>
+ <th align="left" valign="top"><h4>Description</h4></th>
+ </tr>
+ <tr>
+ <td align="left" valign="top">accesskey</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">Set the html accesskey attribute on rendered html element</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">class</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">The css class to use for element - it's an alias of cssClass attribute.</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">cssClass</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">The css class to use for element</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">cssErrorClass</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">The css error class to use for element</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">cssErrorStyle</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">The css error style definitions for element to use</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">cssStyle</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">The css style definitions for element to use</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">disabled</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">Set the html disabled attribute on rendered html element</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">errorPosition</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">Define error position of form element (top|bottom)</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">id</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">HTML id attribute</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">javascriptTooltip</td>
+ <td align="left" valign="top">false</td>
+ <td align="left" valign="top">false</td>
+ <td align="left" valign="top">false</td>
+ <td align="left" valign="top">Boolean</td>
+ <td align="left" valign="top">Use JavaScript to generate tooltips</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">key</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">Set the key (name, value, label) for this particular component</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">label</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">Label expression used for rendering an element specific label</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">labelSeparator</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">String that will be appended to the label</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">labelposition</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">Define label position of form element (top/left)</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">list</td>
+ <td align="left" valign="top"><strong>true</strong></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">Iterable source to populate from. If the list is a Map (key, value), the Map key will become the option 'value' parameter and the Map value will become the option body.</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">listCssClass</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 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>
+ <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 field value from</td>
+ </tr>
+ <tr>
++ <td align="left" valign="top">listLabelKey</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 be used to lookup for localised version of field label</td>
++ </tr>
++ <tr>
+ <td align="left" valign="top">listTitle</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 title from</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">listValue</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 field content from</td>
+ </tr>
+ <tr>
++ <td align="left" valign="top">listValueKey</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 field value label from</td>
++ </tr>
++ <tr>
+ <td align="left" valign="top">name</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">The name to set for element</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">onblur</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"> Set the html onblur attribute on rendered html element</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">onchange</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">Set the html onchange attribute on rendered html element</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">onclick</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">Set the html onclick attribute on rendered html element</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">ondblclick</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">Set the html ondblclick attribute on rendered html element</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">onfocus</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">Set the html onfocus attribute on rendered html element</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">onkeydown</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">Set the html onkeydown attribute on rendered html element</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">onkeypress</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">Set the html onkeypress attribute on rendered html element</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">onkeyup</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">Set the html onkeyup attribute on rendered html element</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">onmousedown</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">Set the html onmousedown attribute on rendered html element</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">onmousemove</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">Set the html onmousemove attribute on rendered html element</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">onmouseout</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">Set the html onmouseout attribute on rendered html element</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">onmouseover</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">Set the html onmouseover attribute on rendered html element</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">onmouseup</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">Set the html onmouseup attribute on rendered html element</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">onselect</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">Set the html onselect attribute on rendered html element</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">readonly</td>
+ <td align="left" valign="top">false</td>
+ <td align="left" valign="top">false</td>
+ <td align="left" valign="top">false</td>
+ <td align="left" valign="top">Boolean</td>
+ <td align="left" valign="top">Whether the input is readonly</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">requiredLabel</td>
+ <td align="left" valign="top">false</td>
+ <td align="left" valign="top">false</td>
+ <td align="left" valign="top">false</td>
+ <td align="left" valign="top">Boolean</td>
+ <td align="left" valign="top">If set to true, the rendered element will indicate that input is required</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">requiredPosition</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">Define required position of required form element (left|right)</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">style</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">The css style definitions for element to use - it's an alias of cssStyle attribute.</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">tabindex</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">Set the html tabindex attribute on rendered html element</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">template</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">The template (other than default) to use for rendering the element</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">templateDir</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">The template directory.</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">theme</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">The theme (other than default) to use for rendering the element</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">title</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">Set the html title attribute on rendered html element</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">tooltip</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">Set the tooltip of this particular component</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">tooltipConfig</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">Deprecated. Use individual tooltip configuration attributes instead.</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">tooltipCssClass</td>
+ <td align="left" valign="top">false</td>
+ <td align="left" valign="top">StrutsTTClassic</td>
+ <td align="left" valign="top">false</td>
+ <td align="left" valign="top">String</td>
+ <td align="left" valign="top">CSS class applied to JavaScrip tooltips</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">tooltipDelay</td>
+ <td align="left" valign="top">false</td>
+ <td align="left" valign="top">Classic</td>
+ <td align="left" valign="top">false</td>
+ <td align="left" valign="top">String</td>
+ <td align="left" valign="top">Delay in milliseconds, before showing JavaScript tooltips </td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">tooltipIconPath</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">Icon path used for image that will have the tooltip</td>
+ </tr>
+ <tr>
+ <td align="left" valign="top">value</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">Preset the value of input element.</td>
+ </tr>
+ </table>
+ <!-- END SNIPPET: tagattributes -->
+ </body>
+</html>
+
http://git-wip-us.apache.org/repos/asf/struts/blob/3b25242c/core/src/site/resources/tags/doubleselect.html
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/3b25242c/core/src/site/resources/tags/inputtransferselect.html
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/3b25242c/core/src/site/resources/tags/optiontransferselect.html
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/3b25242c/core/src/site/resources/tags/radio.html
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/3b25242c/core/src/site/resources/tags/select.html
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/3b25242c/core/src/site/resources/tags/updownselect.html
----------------------------------------------------------------------
[12/17] git commit: Extends test to use the new attribute
Posted by lu...@apache.org.
Extends test to use the new attribute
Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/d67fce1f
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/d67fce1f
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/d67fce1f
Branch: refs/heads/develop
Commit: d67fce1f2577229139938d4588bb970c3f869078
Parents: ed8a0b8
Author: Lukasz Lenart <lu...@apache.org>
Authored: Fri Jun 27 12:56:01 2014 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Fri Jun 27 12:56:01 2014 +0200
----------------------------------------------------------------------
.../struts2/views/jsp/ui/OptGroupTest.java | 41 ++++++++++++++++++++
.../apache/struts2/views/jsp/ui/OptGroup-6.txt | 40 +++++++++++++++++++
2 files changed, 81 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/d67fce1f/core/src/test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java b/core/src/test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java
index c11f511..038cb6a 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java
@@ -23,6 +23,7 @@ package org.apache.struts2.views.jsp.ui;
import java.util.LinkedHashMap;
+import com.opensymphony.xwork2.Action;
import org.apache.struts2.TestAction;
import org.apache.struts2.views.jsp.AbstractUITagTest;
@@ -190,4 +191,44 @@ public class OptGroupTest extends AbstractUITagTest {
//System.out.println(writer.toString());
verify(SelectTag.class.getResource("OptGroup-5.txt"));
}
+
+ public void testOptGroupWithValueKey() throws Exception {
+ SelectTag selectTag = new SelectTag();
+ selectTag.setName("mySelection");
+ selectTag.setLabel("My Selection");
+ selectTag.setList("%{#{'ONE':'one','TWO':'two','THREE':'three'}}");
+ selectTag.setListValueKey("valueKey");
+
+ stack.push(new Action() {
+ public String execute() throws Exception {
+ return SUCCESS;
+ }
+
+ public String getValueKey() { return "MyValue"; }
+ });
+
+ OptGroupTag optGroupTag1 = new OptGroupTag();
+ optGroupTag1.setLabel("My Label 1");
+ optGroupTag1.setList("%{#{'AAA':'aaa','BBB':'bbb','CCC':'ccc'}}");
+
+ OptGroupTag optGroupTag2 = new OptGroupTag();
+ optGroupTag2.setLabel("My Label 2");
+ optGroupTag2.setList("%{#{'DDD':'ddd','EEE':'eee','FFF':'fff'}}");
+
+ selectTag.setPageContext(pageContext);
+ selectTag.doStartTag();
+ optGroupTag1.setPageContext(pageContext);
+ optGroupTag1.doStartTag();
+ optGroupTag1.doEndTag();
+ optGroupTag2.setPageContext(pageContext);
+ optGroupTag2.doStartTag();
+ optGroupTag2.doEndTag();
+ selectTag.doEndTag();
+
+
+ //System.out.println(writer.toString());
+ verify(SelectTag.class.getResource("OptGroup-6.txt"));
+ }
+
+
}
http://git-wip-us.apache.org/repos/asf/struts/blob/d67fce1f/core/src/test/resources/org/apache/struts2/views/jsp/ui/OptGroup-6.txt
----------------------------------------------------------------------
diff --git a/core/src/test/resources/org/apache/struts2/views/jsp/ui/OptGroup-6.txt b/core/src/test/resources/org/apache/struts2/views/jsp/ui/OptGroup-6.txt
new file mode 100644
index 0000000..401ef44
--- /dev/null
+++ b/core/src/test/resources/org/apache/struts2/views/jsp/ui/OptGroup-6.txt
@@ -0,0 +1,40 @@
+<tr>
+ <td class="tdLabel"><label for="mySelection" class="label">My Selection:</label></td>
+ <td>
+<select name="mySelection" id="mySelection">
+ <option value="ONE">MyValue</option>
+ <option value="TWO">MyValue</option>
+ <option value="THREE">MyValue</option>
+
+<optgroup
+ label="My Label 1"
+>
+
+ <option value="AAA"
+ >aaa
+ </option>
+ <option value="BBB"
+ >bbb
+ </option>
+ <option value="CCC"
+ >ccc
+ </option>
+</optgroup>
+<optgroup
+ label="My Label 2"
+>
+
+ <option value="DDD"
+ >ddd
+ </option>
+ <option value="EEE"
+ >eee
+ </option>
+ <option value="FFF"
+ >fff
+ </option>
+</optgroup>
+
+</select>
+</td>
+</tr>
\ No newline at end of file
[04/17] git commit: Adds autogenerated files
Posted by lu...@apache.org.
Adds autogenerated files
Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/7e98fe7a
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/7e98fe7a
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/7e98fe7a
Branch: refs/heads/develop
Commit: 7e98fe7a731b44bb85375f9363465838803a0a16
Parents: 69df870
Author: Lukasz Lenart <lu...@apache.org>
Authored: Thu Mar 20 08:08:50 2014 +0100
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Thu Mar 20 08:08:50 2014 +0100
----------------------------------------------------------------------
core/src/site/resources/tags/checkboxlist.html | 8 ++++++++
core/src/site/resources/tags/doubleselect.html | 8 ++++++++
core/src/site/resources/tags/inputtransferselect.html | 8 ++++++++
core/src/site/resources/tags/optiontransferselect.html | 8 ++++++++
core/src/site/resources/tags/radio.html | 8 ++++++++
core/src/site/resources/tags/select.html | 8 ++++++++
core/src/site/resources/tags/updownselect.html | 8 ++++++++
7 files changed, 56 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/7e98fe7a/core/src/site/resources/tags/checkboxlist.html
----------------------------------------------------------------------
diff --git a/core/src/site/resources/tags/checkboxlist.html b/core/src/site/resources/tags/checkboxlist.html
index 0ad3225..95e2e97 100644
--- a/core/src/site/resources/tags/checkboxlist.html
+++ b/core/src/site/resources/tags/checkboxlist.html
@@ -170,6 +170,14 @@ Please do not edit it directly.
<td align="left" valign="top"> Property of list objects to get field value from</td>
</tr>
<tr>
+ <td align="left" valign="top">listLabelKey</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 be used to lookup for localised version of field label</td>
+ </tr>
+ <tr>
<td align="left" valign="top">listTitle</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
http://git-wip-us.apache.org/repos/asf/struts/blob/7e98fe7a/core/src/site/resources/tags/doubleselect.html
----------------------------------------------------------------------
diff --git a/core/src/site/resources/tags/doubleselect.html b/core/src/site/resources/tags/doubleselect.html
index 00a1558..becaf8b 100644
--- a/core/src/site/resources/tags/doubleselect.html
+++ b/core/src/site/resources/tags/doubleselect.html
@@ -458,6 +458,14 @@ Please do not edit it directly.
<td align="left" valign="top"> Property of list objects to get field value from</td>
</tr>
<tr>
+ <td align="left" valign="top">listLabelKey</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 be used to lookup for localised version of field label</td>
+ </tr>
+ <tr>
<td align="left" valign="top">listTitle</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
http://git-wip-us.apache.org/repos/asf/struts/blob/7e98fe7a/core/src/site/resources/tags/inputtransferselect.html
----------------------------------------------------------------------
diff --git a/core/src/site/resources/tags/inputtransferselect.html b/core/src/site/resources/tags/inputtransferselect.html
index 4c33f7c..9f1a1e1 100644
--- a/core/src/site/resources/tags/inputtransferselect.html
+++ b/core/src/site/resources/tags/inputtransferselect.html
@@ -242,6 +242,14 @@ Please do not edit it directly.
<td align="left" valign="top"> Property of list objects to get field value from</td>
</tr>
<tr>
+ <td align="left" valign="top">listLabelKey</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 be used to lookup for localised version of field label</td>
+ </tr>
+ <tr>
<td align="left" valign="top">listTitle</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
http://git-wip-us.apache.org/repos/asf/struts/blob/7e98fe7a/core/src/site/resources/tags/optiontransferselect.html
----------------------------------------------------------------------
diff --git a/core/src/site/resources/tags/optiontransferselect.html b/core/src/site/resources/tags/optiontransferselect.html
index 5f9b3c7..e2d74d1 100644
--- a/core/src/site/resources/tags/optiontransferselect.html
+++ b/core/src/site/resources/tags/optiontransferselect.html
@@ -618,6 +618,14 @@ Please do not edit it directly.
<td align="left" valign="top"> Property of list objects to get field value from</td>
</tr>
<tr>
+ <td align="left" valign="top">listLabelKey</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 be used to lookup for localised version of field label</td>
+ </tr>
+ <tr>
<td align="left" valign="top">listTitle</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
http://git-wip-us.apache.org/repos/asf/struts/blob/7e98fe7a/core/src/site/resources/tags/radio.html
----------------------------------------------------------------------
diff --git a/core/src/site/resources/tags/radio.html b/core/src/site/resources/tags/radio.html
index f3e8abc..ea1d78d 100644
--- a/core/src/site/resources/tags/radio.html
+++ b/core/src/site/resources/tags/radio.html
@@ -170,6 +170,14 @@ Please do not edit it directly.
<td align="left" valign="top"> Property of list objects to get field value from</td>
</tr>
<tr>
+ <td align="left" valign="top">listLabelKey</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 be used to lookup for localised version of field label</td>
+ </tr>
+ <tr>
<td align="left" valign="top">listTitle</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
http://git-wip-us.apache.org/repos/asf/struts/blob/7e98fe7a/core/src/site/resources/tags/select.html
----------------------------------------------------------------------
diff --git a/core/src/site/resources/tags/select.html b/core/src/site/resources/tags/select.html
index e247c1f..7a7d3de 100644
--- a/core/src/site/resources/tags/select.html
+++ b/core/src/site/resources/tags/select.html
@@ -194,6 +194,14 @@ Please do not edit it directly.
<td align="left" valign="top"> Property of list objects to get field value from</td>
</tr>
<tr>
+ <td align="left" valign="top">listLabelKey</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 be used to lookup for localised version of field label</td>
+ </tr>
+ <tr>
<td align="left" valign="top">listTitle</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
http://git-wip-us.apache.org/repos/asf/struts/blob/7e98fe7a/core/src/site/resources/tags/updownselect.html
----------------------------------------------------------------------
diff --git a/core/src/site/resources/tags/updownselect.html b/core/src/site/resources/tags/updownselect.html
index d0c02d5..f084116 100644
--- a/core/src/site/resources/tags/updownselect.html
+++ b/core/src/site/resources/tags/updownselect.html
@@ -218,6 +218,14 @@ Please do not edit it directly.
<td align="left" valign="top"> Property of list objects to get field value from</td>
</tr>
<tr>
+ <td align="left" valign="top">listLabelKey</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 be used to lookup for localised version of field label</td>
+ </tr>
+ <tr>
<td align="left" valign="top">listTitle</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
[14/17] git commit: Extends test case to demonstrate possible usage
of listValueKey
Posted by lu...@apache.org.
Extends test case to demonstrate possible usage of listValueKey
Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/8e6f198d
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/8e6f198d
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/8e6f198d
Branch: refs/heads/develop
Commit: 8e6f198d41c01aa4b34645f558b209190f72510b
Parents: d20c2f1
Author: Lukasz Lenart <lu...@apache.org>
Authored: Wed Jul 30 09:08:34 2014 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Wed Jul 30 09:08:34 2014 +0200
----------------------------------------------------------------------
.../views/jsp/ui/LocaleKeyValueTest.java | 11 ++++++++++
.../struts2/views/jsp/ui/LocaleTestAction.java | 17 ++++++++++++++++
.../struts2/views/jsp/ui/OptGroupTest.java | 21 ++++++++------------
.../apache/struts2/views/jsp/ui/OptGroup-6.txt | 8 ++++----
4 files changed, 40 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/8e6f198d/core/src/test/java/org/apache/struts2/views/jsp/ui/LocaleKeyValueTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/ui/LocaleKeyValueTest.java b/core/src/test/java/org/apache/struts2/views/jsp/ui/LocaleKeyValueTest.java
new file mode 100644
index 0000000..5ea01a7
--- /dev/null
+++ b/core/src/test/java/org/apache/struts2/views/jsp/ui/LocaleKeyValueTest.java
@@ -0,0 +1,11 @@
+package org.apache.struts2.views.jsp.ui;
+
+public enum LocaleKeyValueTest {
+
+ ONE, TWO, THREE;
+
+ public String getValueKey() {
+ return getClass().getSimpleName() + "." + name();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/struts/blob/8e6f198d/core/src/test/java/org/apache/struts2/views/jsp/ui/LocaleTestAction.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/ui/LocaleTestAction.java b/core/src/test/java/org/apache/struts2/views/jsp/ui/LocaleTestAction.java
new file mode 100644
index 0000000..ad2a4b5
--- /dev/null
+++ b/core/src/test/java/org/apache/struts2/views/jsp/ui/LocaleTestAction.java
@@ -0,0 +1,17 @@
+package org.apache.struts2.views.jsp.ui;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.struts2.TestAction;
+
+import com.opensymphony.xwork2.Action;
+
+public class LocaleTestAction extends TestAction implements Action {
+
+ @SuppressWarnings("unused")
+ public List<LocaleKeyValueTest> getSelectValues() {
+ return Arrays.asList(LocaleKeyValueTest.values());
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/struts/blob/8e6f198d/core/src/test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java b/core/src/test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java
index 038cb6a..de9d34b 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java
@@ -23,13 +23,9 @@ package org.apache.struts2.views.jsp.ui;
import java.util.LinkedHashMap;
-import com.opensymphony.xwork2.Action;
import org.apache.struts2.TestAction;
import org.apache.struts2.views.jsp.AbstractUITagTest;
-/**
- *
- */
public class OptGroupTest extends AbstractUITagTest {
public void testOptGroupSimple() throws Exception {
@@ -129,7 +125,7 @@ public class OptGroupTest extends AbstractUITagTest {
((TestAction)action).setMap(new LinkedHashMap() {{
put("AAA", "aaa");
- put(new Long(111111), "bbb");
+ put(111111L, "bbb");
put("CCC", "ccc");
}});
@@ -192,20 +188,19 @@ public class OptGroupTest extends AbstractUITagTest {
verify(SelectTag.class.getResource("OptGroup-5.txt"));
}
+
public void testOptGroupWithValueKey() throws Exception {
SelectTag selectTag = new SelectTag();
selectTag.setName("mySelection");
selectTag.setLabel("My Selection");
- selectTag.setList("%{#{'ONE':'one','TWO':'two','THREE':'three'}}");
+ selectTag.setList("selectValues");
selectTag.setListValueKey("valueKey");
- stack.push(new Action() {
- public String execute() throws Exception {
- return SUCCESS;
- }
-
- public String getValueKey() { return "MyValue"; }
- });
+ LocaleTestAction localeTestAction = new LocaleTestAction();
+
+ localeTestAction.setText("LocaleKeyValueTest.ONE","Edno");
+ localeTestAction.setText("LocaleKeyValueTest.TWO","Dve");
+ stack.push(localeTestAction);
OptGroupTag optGroupTag1 = new OptGroupTag();
optGroupTag1.setLabel("My Label 1");
http://git-wip-us.apache.org/repos/asf/struts/blob/8e6f198d/core/src/test/resources/org/apache/struts2/views/jsp/ui/OptGroup-6.txt
----------------------------------------------------------------------
diff --git a/core/src/test/resources/org/apache/struts2/views/jsp/ui/OptGroup-6.txt b/core/src/test/resources/org/apache/struts2/views/jsp/ui/OptGroup-6.txt
index 401ef44..99ed297 100644
--- a/core/src/test/resources/org/apache/struts2/views/jsp/ui/OptGroup-6.txt
+++ b/core/src/test/resources/org/apache/struts2/views/jsp/ui/OptGroup-6.txt
@@ -2,9 +2,9 @@
<td class="tdLabel"><label for="mySelection" class="label">My Selection:</label></td>
<td>
<select name="mySelection" id="mySelection">
- <option value="ONE">MyValue</option>
- <option value="TWO">MyValue</option>
- <option value="THREE">MyValue</option>
+ <option value="ONE">Edno</option>
+ <option value="TWO">Dve</option>
+ <option value="THREE">LocaleKeyValueTest.THREE</option>
<optgroup
label="My Label 1"
@@ -37,4 +37,4 @@
</select>
</td>
-</tr>
\ No newline at end of file
+</tr>
[08/17] git commit: Adds auto-generated tags' info
Posted by lu...@apache.org.
Adds auto-generated tags' info
Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/ca230ab3
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/ca230ab3
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/ca230ab3
Branch: refs/heads/develop
Commit: ca230ab30fde249d8af17cc5f2ba83ebe142d364
Parents: 23498a3
Author: Lukasz Lenart <lu...@apache.org>
Authored: Fri Jun 27 12:54:26 2014 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Fri Jun 27 12:54:26 2014 +0200
----------------------------------------------------------------------
core/src/site/resources/tags/checkboxlist.html | 8 ++++++++
core/src/site/resources/tags/doubleselect.html | 8 ++++++++
core/src/site/resources/tags/inputtransferselect.html | 8 ++++++++
core/src/site/resources/tags/optiontransferselect.html | 8 ++++++++
core/src/site/resources/tags/radio.html | 8 ++++++++
core/src/site/resources/tags/select.html | 8 ++++++++
core/src/site/resources/tags/updownselect.html | 8 ++++++++
7 files changed, 56 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/ca230ab3/core/src/site/resources/tags/checkboxlist.html
----------------------------------------------------------------------
diff --git a/core/src/site/resources/tags/checkboxlist.html b/core/src/site/resources/tags/checkboxlist.html
index 95e2e97..1bcb2ea 100644
--- a/core/src/site/resources/tags/checkboxlist.html
+++ b/core/src/site/resources/tags/checkboxlist.html
@@ -194,6 +194,14 @@ Please do not edit it directly.
<td align="left" valign="top">Property of list objects to get field content from</td>
</tr>
<tr>
+ <td align="left" valign="top">listValueKey</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 field value label from</td>
+ </tr>
+ <tr>
<td align="left" valign="top">name</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
http://git-wip-us.apache.org/repos/asf/struts/blob/ca230ab3/core/src/site/resources/tags/doubleselect.html
----------------------------------------------------------------------
diff --git a/core/src/site/resources/tags/doubleselect.html b/core/src/site/resources/tags/doubleselect.html
index becaf8b..674ecc2 100644
--- a/core/src/site/resources/tags/doubleselect.html
+++ b/core/src/site/resources/tags/doubleselect.html
@@ -482,6 +482,14 @@ Please do not edit it directly.
<td align="left" valign="top">Property of list objects to get field content from</td>
</tr>
<tr>
+ <td align="left" valign="top">listValueKey</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 field value label from</td>
+ </tr>
+ <tr>
<td align="left" valign="top">multiple</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
http://git-wip-us.apache.org/repos/asf/struts/blob/ca230ab3/core/src/site/resources/tags/inputtransferselect.html
----------------------------------------------------------------------
diff --git a/core/src/site/resources/tags/inputtransferselect.html b/core/src/site/resources/tags/inputtransferselect.html
index 9f1a1e1..176e915 100644
--- a/core/src/site/resources/tags/inputtransferselect.html
+++ b/core/src/site/resources/tags/inputtransferselect.html
@@ -266,6 +266,14 @@ Please do not edit it directly.
<td align="left" valign="top">Property of list objects to get field content from</td>
</tr>
<tr>
+ <td align="left" valign="top">listValueKey</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 field value label from</td>
+ </tr>
+ <tr>
<td align="left" valign="top">multiple</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
http://git-wip-us.apache.org/repos/asf/struts/blob/ca230ab3/core/src/site/resources/tags/optiontransferselect.html
----------------------------------------------------------------------
diff --git a/core/src/site/resources/tags/optiontransferselect.html b/core/src/site/resources/tags/optiontransferselect.html
index e2d74d1..a2f5422 100644
--- a/core/src/site/resources/tags/optiontransferselect.html
+++ b/core/src/site/resources/tags/optiontransferselect.html
@@ -642,6 +642,14 @@ Please do not edit it directly.
<td align="left" valign="top">Property of list objects to get field content from</td>
</tr>
<tr>
+ <td align="left" valign="top">listValueKey</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 field value label from</td>
+ </tr>
+ <tr>
<td align="left" valign="top">multiple</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
http://git-wip-us.apache.org/repos/asf/struts/blob/ca230ab3/core/src/site/resources/tags/radio.html
----------------------------------------------------------------------
diff --git a/core/src/site/resources/tags/radio.html b/core/src/site/resources/tags/radio.html
index ea1d78d..1fce828 100644
--- a/core/src/site/resources/tags/radio.html
+++ b/core/src/site/resources/tags/radio.html
@@ -194,6 +194,14 @@ Please do not edit it directly.
<td align="left" valign="top">Property of list objects to get field content from</td>
</tr>
<tr>
+ <td align="left" valign="top">listValueKey</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 field value label from</td>
+ </tr>
+ <tr>
<td align="left" valign="top">name</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
http://git-wip-us.apache.org/repos/asf/struts/blob/ca230ab3/core/src/site/resources/tags/select.html
----------------------------------------------------------------------
diff --git a/core/src/site/resources/tags/select.html b/core/src/site/resources/tags/select.html
index 7a7d3de..d2425e5 100644
--- a/core/src/site/resources/tags/select.html
+++ b/core/src/site/resources/tags/select.html
@@ -218,6 +218,14 @@ Please do not edit it directly.
<td align="left" valign="top">Property of list objects to get field content from</td>
</tr>
<tr>
+ <td align="left" valign="top">listValueKey</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 field value label from</td>
+ </tr>
+ <tr>
<td align="left" valign="top">multiple</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">false</td>
http://git-wip-us.apache.org/repos/asf/struts/blob/ca230ab3/core/src/site/resources/tags/updownselect.html
----------------------------------------------------------------------
diff --git a/core/src/site/resources/tags/updownselect.html b/core/src/site/resources/tags/updownselect.html
index f084116..d62b86f 100644
--- a/core/src/site/resources/tags/updownselect.html
+++ b/core/src/site/resources/tags/updownselect.html
@@ -242,6 +242,14 @@ Please do not edit it directly.
<td align="left" valign="top">Property of list objects to get field content from</td>
</tr>
<tr>
+ <td align="left" valign="top">listValueKey</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 field value label from</td>
+ </tr>
+ <tr>
<td align="left" valign="top">moveDownLabel</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">v</td>
[05/17] git commit: Extends blank app to demonstrate the new
possibilities
Posted by lu...@apache.org.
Extends blank app to demonstrate the new possibilities
Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/b78349ad
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/b78349ad
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/b78349ad
Branch: refs/heads/develop
Commit: b78349ad5dade8a47fb335f6ef18c13a36101842
Parents: 7e98fe7
Author: Lukasz Lenart <lu...@apache.org>
Authored: Thu Mar 20 08:12:13 2014 +0100
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Thu Mar 20 08:12:13 2014 +0100
----------------------------------------------------------------------
apps/blank/src/main/java/example/HelloWorld.java | 7 +++++++
apps/blank/src/main/java/example/YesNo.java | 5 +++++
apps/blank/src/main/resources/example/package.properties | 2 ++
apps/blank/src/main/webapp/WEB-INF/jsp/example/HelloWorld.jsp | 2 ++
4 files changed, 16 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/b78349ad/apps/blank/src/main/java/example/HelloWorld.java
----------------------------------------------------------------------
diff --git a/apps/blank/src/main/java/example/HelloWorld.java b/apps/blank/src/main/java/example/HelloWorld.java
index d5268ca..73a5221 100644
--- a/apps/blank/src/main/java/example/HelloWorld.java
+++ b/apps/blank/src/main/java/example/HelloWorld.java
@@ -21,6 +21,9 @@
package example;
+import java.util.Arrays;
+import java.util.List;
+
/**
* <code>Set welcome message.</code>
*/
@@ -58,4 +61,8 @@ public class HelloWorld extends ExampleSupport {
public void setMessage(String message) {
this.message = message;
}
+
+ public List<YesNo> getValues() {
+ return Arrays.asList(YesNo.values());
+ }
}
http://git-wip-us.apache.org/repos/asf/struts/blob/b78349ad/apps/blank/src/main/java/example/YesNo.java
----------------------------------------------------------------------
diff --git a/apps/blank/src/main/java/example/YesNo.java b/apps/blank/src/main/java/example/YesNo.java
new file mode 100644
index 0000000..d27ed7c
--- /dev/null
+++ b/apps/blank/src/main/java/example/YesNo.java
@@ -0,0 +1,5 @@
+package example;
+
+public enum YesNo {
+ YES, NO
+}
http://git-wip-us.apache.org/repos/asf/struts/blob/b78349ad/apps/blank/src/main/resources/example/package.properties
----------------------------------------------------------------------
diff --git a/apps/blank/src/main/resources/example/package.properties b/apps/blank/src/main/resources/example/package.properties
index c1f4b33..1ac0e71 100644
--- a/apps/blank/src/main/resources/example/package.properties
+++ b/apps/blank/src/main/resources/example/package.properties
@@ -3,3 +3,5 @@ requiredstring = ${getText(fieldName)} is required.
password = Password
username = User Name
Missing.message = This feature is under construction. Please try again in the next interation.
+test-yes=Yo
+test-no=Nein
http://git-wip-us.apache.org/repos/asf/struts/blob/b78349ad/apps/blank/src/main/webapp/WEB-INF/jsp/example/HelloWorld.jsp
----------------------------------------------------------------------
diff --git a/apps/blank/src/main/webapp/WEB-INF/jsp/example/HelloWorld.jsp b/apps/blank/src/main/webapp/WEB-INF/jsp/example/HelloWorld.jsp
index 938c761..f10fc02 100644
--- a/apps/blank/src/main/webapp/WEB-INF/jsp/example/HelloWorld.jsp
+++ b/apps/blank/src/main/webapp/WEB-INF/jsp/example/HelloWorld.jsp
@@ -24,5 +24,7 @@
</li>
</ul>
+<s:checkboxlist name="test" list="values" listLabelKey="'test-' + name().toLowerCase()" />
+
</body>
</html>
[10/17] git commit: Removes optional valueKey to keep backward
compatibility
Posted by lu...@apache.org.
Removes optional valueKey to keep backward compatibility
Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/a2791a83
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/a2791a83
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/a2791a83
Branch: refs/heads/develop
Commit: a2791a8305666859d6484098fb597f93c94908bc
Parents: 13269fa
Author: Lukasz Lenart <lu...@apache.org>
Authored: Fri Jun 27 12:55:13 2014 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Fri Jun 27 12:55:13 2014 +0200
----------------------------------------------------------------------
core/src/main/java/org/apache/struts2/components/ListUIBean.java | 2 --
1 file changed, 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/a2791a83/core/src/main/java/org/apache/struts2/components/ListUIBean.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/ListUIBean.java b/core/src/main/java/org/apache/struts2/components/ListUIBean.java
index c9f704a..1adfc2e 100644
--- a/core/src/main/java/org/apache/struts2/components/ListUIBean.java
+++ b/core/src/main/java/org/apache/struts2/components/ListUIBean.java
@@ -113,8 +113,6 @@ public abstract class ListUIBean extends UIBean {
if (listValueKey != null) {
listValueKey = stripExpressionIfAltSyntax(listValueKey);
addParameter("listValueKey", listValueKey);
- } else if (value instanceof Map) {
- addParameter("listValueKey", "valueKey");
}
if (listValue != null) {
[17/17] git commit: Closes #7 Closes #18
Posted by lu...@apache.org.
Closes #7
Closes #18
Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/09012d7e
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/09012d7e
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/09012d7e
Branch: refs/heads/develop
Commit: 09012d7e5f7177002893da3b2add091b04c62657
Parents: 3b25242
Author: Lukasz Lenart <lu...@apache.org>
Authored: Wed Jul 30 09:16:01 2014 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Wed Jul 30 09:16:01 2014 +0200
----------------------------------------------------------------------
.../test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java | 2 --
1 file changed, 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/09012d7e/core/src/test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java b/core/src/test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java
index de9d34b..bee7ade 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java
@@ -188,7 +188,6 @@ public class OptGroupTest extends AbstractUITagTest {
verify(SelectTag.class.getResource("OptGroup-5.txt"));
}
-
public void testOptGroupWithValueKey() throws Exception {
SelectTag selectTag = new SelectTag();
selectTag.setName("mySelection");
@@ -225,5 +224,4 @@ public class OptGroupTest extends AbstractUITagTest {
verify(SelectTag.class.getResource("OptGroup-6.txt"));
}
-
}
[06/17] git commit: updating ListUIBean
Posted by lu...@apache.org.
updating ListUIBean
updating java-backed bean
Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/6def5145
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/6def5145
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/6def5145
Branch: refs/heads/develop
Commit: 6def514524e81c4af188b47b6694384eea3a46c6
Parents: 7f586d3
Author: adam brin <ad...@asu.edu>
Authored: Mon Mar 24 07:31:54 2014 -0700
Committer: adam brin <ad...@asu.edu>
Committed: Mon Mar 24 07:31:54 2014 -0700
----------------------------------------------------------------------
.../java/org/apache/struts2/components/ListUIBean.java | 13 +++++++++++++
1 file changed, 13 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/6def5145/core/src/main/java/org/apache/struts2/components/ListUIBean.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/components/ListUIBean.java b/core/src/main/java/org/apache/struts2/components/ListUIBean.java
index b1a4493..69deae4 100644
--- a/core/src/main/java/org/apache/struts2/components/ListUIBean.java
+++ b/core/src/main/java/org/apache/struts2/components/ListUIBean.java
@@ -48,6 +48,7 @@ import java.util.Map;
public abstract class ListUIBean extends UIBean {
protected Object list;
protected String listKey;
+ protected String listValueKey;
protected String listValue;
protected String listCssClass;
protected String listCssStyle;
@@ -108,6 +109,13 @@ public abstract class ListUIBean extends UIBean {
addParameter("listKey", "key");
}
+ if (listValueKey != null) {
+ listValueKey = stripExpressionIfAltSyntax(listValueKey);
+ addParameter("listValueKey", listValueKey);
+ } else if (value instanceof Map) {
+ addParameter("listValueKey", "valueKey");
+ }
+
if (listValue != null) {
listValue = stripExpressionIfAltSyntax(listValue);
addParameter("listValue", listValue);
@@ -147,6 +155,11 @@ public abstract class ListUIBean extends UIBean {
this.listKey = listKey;
}
+ @StrutsTagAttribute(description = " Property of list objects to get field value label from")
+ public void setListValueKey(String listValueKey) {
+ this.listValueKey = listValueKey;
+ }
+
@StrutsTagAttribute(description = "Property of list objects to get field content from")
public void setListValue(String listValue) {
this.listValue = listValue;
[11/17] git commit: Checks is ListValueKey was defined and returns
value
Posted by lu...@apache.org.
Checks is ListValueKey was defined and returns value
Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/ed8a0b87
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/ed8a0b87
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/ed8a0b87
Branch: refs/heads/develop
Commit: ed8a0b87b29114ac5c99838e7d4cfc819ad71e43
Parents: a2791a8
Author: Lukasz Lenart <lu...@apache.org>
Authored: Fri Jun 27 12:55:43 2014 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Fri Jun 27 12:55:43 2014 +0200
----------------------------------------------------------------------
core/src/main/resources/template/simple/select.ftl | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/ed8a0b87/core/src/main/resources/template/simple/select.ftl
----------------------------------------------------------------------
diff --git a/core/src/main/resources/template/simple/select.ftl b/core/src/main/resources/template/simple/select.ftl
index f4f27bf..dcb4b97 100644
--- a/core/src/main/resources/template/simple/select.ftl
+++ b/core/src/main/resources/template/simple/select.ftl
@@ -72,9 +72,12 @@
<#if parameters.listValueKey??>
<#-- checks the valueStack for the 'valueKey.' The valueKey is then looked-up in the locale file for it's
localized value. This is then used as a label -->
- <#assign itemValue = stack.findString(parameters.listValueKey)/>
- <#-- FIXME: find a better way to get the value than a call to @s.text -->
- <#assign itemValue><@s.text name="${itemValue}"/></#assign>
+ <#assign valueKey = stack.findString(parameters.listValueKey) />
+ <#if valueKey??>
+ <#assign itemValue = struts.getText(valueKey) />
+ <#else>
+ <#assign itemValue = parameters.listValueKey />
+ </#if>
<#elseif parameters.listValue??>
<#if stack.findString(parameters.listValue)??>
<#assign itemValue = stack.findString(parameters.listValue)/>
[15/17] git commit: Extends test case to demonstrate possible usage
of listValueKey
Posted by lu...@apache.org.
Extends test case to demonstrate possible usage of listValueKey
Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/8e6f198d
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/8e6f198d
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/8e6f198d
Branch: refs/heads/feature/WW-4295-localization
Commit: 8e6f198d41c01aa4b34645f558b209190f72510b
Parents: d20c2f1
Author: Lukasz Lenart <lu...@apache.org>
Authored: Wed Jul 30 09:08:34 2014 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Wed Jul 30 09:08:34 2014 +0200
----------------------------------------------------------------------
.../views/jsp/ui/LocaleKeyValueTest.java | 11 ++++++++++
.../struts2/views/jsp/ui/LocaleTestAction.java | 17 ++++++++++++++++
.../struts2/views/jsp/ui/OptGroupTest.java | 21 ++++++++------------
.../apache/struts2/views/jsp/ui/OptGroup-6.txt | 8 ++++----
4 files changed, 40 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/8e6f198d/core/src/test/java/org/apache/struts2/views/jsp/ui/LocaleKeyValueTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/ui/LocaleKeyValueTest.java b/core/src/test/java/org/apache/struts2/views/jsp/ui/LocaleKeyValueTest.java
new file mode 100644
index 0000000..5ea01a7
--- /dev/null
+++ b/core/src/test/java/org/apache/struts2/views/jsp/ui/LocaleKeyValueTest.java
@@ -0,0 +1,11 @@
+package org.apache.struts2.views.jsp.ui;
+
+public enum LocaleKeyValueTest {
+
+ ONE, TWO, THREE;
+
+ public String getValueKey() {
+ return getClass().getSimpleName() + "." + name();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/struts/blob/8e6f198d/core/src/test/java/org/apache/struts2/views/jsp/ui/LocaleTestAction.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/ui/LocaleTestAction.java b/core/src/test/java/org/apache/struts2/views/jsp/ui/LocaleTestAction.java
new file mode 100644
index 0000000..ad2a4b5
--- /dev/null
+++ b/core/src/test/java/org/apache/struts2/views/jsp/ui/LocaleTestAction.java
@@ -0,0 +1,17 @@
+package org.apache.struts2.views.jsp.ui;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.struts2.TestAction;
+
+import com.opensymphony.xwork2.Action;
+
+public class LocaleTestAction extends TestAction implements Action {
+
+ @SuppressWarnings("unused")
+ public List<LocaleKeyValueTest> getSelectValues() {
+ return Arrays.asList(LocaleKeyValueTest.values());
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/struts/blob/8e6f198d/core/src/test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java b/core/src/test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java
index 038cb6a..de9d34b 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/ui/OptGroupTest.java
@@ -23,13 +23,9 @@ package org.apache.struts2.views.jsp.ui;
import java.util.LinkedHashMap;
-import com.opensymphony.xwork2.Action;
import org.apache.struts2.TestAction;
import org.apache.struts2.views.jsp.AbstractUITagTest;
-/**
- *
- */
public class OptGroupTest extends AbstractUITagTest {
public void testOptGroupSimple() throws Exception {
@@ -129,7 +125,7 @@ public class OptGroupTest extends AbstractUITagTest {
((TestAction)action).setMap(new LinkedHashMap() {{
put("AAA", "aaa");
- put(new Long(111111), "bbb");
+ put(111111L, "bbb");
put("CCC", "ccc");
}});
@@ -192,20 +188,19 @@ public class OptGroupTest extends AbstractUITagTest {
verify(SelectTag.class.getResource("OptGroup-5.txt"));
}
+
public void testOptGroupWithValueKey() throws Exception {
SelectTag selectTag = new SelectTag();
selectTag.setName("mySelection");
selectTag.setLabel("My Selection");
- selectTag.setList("%{#{'ONE':'one','TWO':'two','THREE':'three'}}");
+ selectTag.setList("selectValues");
selectTag.setListValueKey("valueKey");
- stack.push(new Action() {
- public String execute() throws Exception {
- return SUCCESS;
- }
-
- public String getValueKey() { return "MyValue"; }
- });
+ LocaleTestAction localeTestAction = new LocaleTestAction();
+
+ localeTestAction.setText("LocaleKeyValueTest.ONE","Edno");
+ localeTestAction.setText("LocaleKeyValueTest.TWO","Dve");
+ stack.push(localeTestAction);
OptGroupTag optGroupTag1 = new OptGroupTag();
optGroupTag1.setLabel("My Label 1");
http://git-wip-us.apache.org/repos/asf/struts/blob/8e6f198d/core/src/test/resources/org/apache/struts2/views/jsp/ui/OptGroup-6.txt
----------------------------------------------------------------------
diff --git a/core/src/test/resources/org/apache/struts2/views/jsp/ui/OptGroup-6.txt b/core/src/test/resources/org/apache/struts2/views/jsp/ui/OptGroup-6.txt
index 401ef44..99ed297 100644
--- a/core/src/test/resources/org/apache/struts2/views/jsp/ui/OptGroup-6.txt
+++ b/core/src/test/resources/org/apache/struts2/views/jsp/ui/OptGroup-6.txt
@@ -2,9 +2,9 @@
<td class="tdLabel"><label for="mySelection" class="label">My Selection:</label></td>
<td>
<select name="mySelection" id="mySelection">
- <option value="ONE">MyValue</option>
- <option value="TWO">MyValue</option>
- <option value="THREE">MyValue</option>
+ <option value="ONE">Edno</option>
+ <option value="TWO">Dve</option>
+ <option value="THREE">LocaleKeyValueTest.THREE</option>
<optgroup
label="My Label 1"
@@ -37,4 +37,4 @@
</select>
</td>
-</tr>
\ No newline at end of file
+</tr>
[03/17] git commit: Extends template to use the new field to localise
value's label
Posted by lu...@apache.org.
Extends template to use the new field to localise value's label
Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/69df8704
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/69df8704
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/69df8704
Branch: refs/heads/develop
Commit: 69df87047ab2a72c339a0ee320459757ba439f40
Parents: 9018936
Author: Lukasz Lenart <lu...@apache.org>
Authored: Thu Mar 20 08:08:27 2014 +0100
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Thu Mar 20 08:08:27 2014 +0100
----------------------------------------------------------------------
core/src/main/resources/template/simple/checkboxlist.ftl | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/69df8704/core/src/main/resources/template/simple/checkboxlist.ftl
----------------------------------------------------------------------
diff --git a/core/src/main/resources/template/simple/checkboxlist.ftl b/core/src/main/resources/template/simple/checkboxlist.ftl
index 9662e42..e2e569c 100644
--- a/core/src/main/resources/template/simple/checkboxlist.ftl
+++ b/core/src/main/resources/template/simple/checkboxlist.ftl
@@ -29,16 +29,14 @@
<#else>
<#assign itemKey = stack.findValue('top')/>
</#if>
- <#if parameters.listValueKey??>
+ <#if parameters.listLabelKey??>
<#-- checks the valueStack for the 'valueKey.' The valueKey is then looked-up in the locale
file for it's localized value. This is then used as a label -->
- <#assign itemValue = stack.findString(parameters.listValueKey)/>
- <#-- FIXME: find a better way to get the value than a call to @s.text -->
- <#assign itemValue><@s.text name="${itemValue}"/></#assign>
+ <#assign itemValue = struts.getText(stack.findString(parameters.listLabelKey))/>
<#elseif parameters.listValue??>
<#assign itemValue = stack.findString(parameters.listValue)?default("")/>
- <#else>
- <#assign itemValue = stack.findString('top')/>
+ <#else>
+ <#assign itemValue = stack.findString('top')/>
</#if>
<#if parameters.listCssClass??>
<#if stack.findString(parameters.listCssClass)??>