mirror of
https://github.com/apache/struts.git
synced 2026-08-09 16:46:55 +00:00
Compare commits
61 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 00be9803d5 | |||
| e6b9aaba54 | |||
| c495824e56 | |||
| 5c247b38ed | |||
| a7fdf13446 | |||
| 2825fdb41a | |||
| 5e624faa82 | |||
| 377c0cb20b | |||
| 25da849d0a | |||
| 9f14276c00 | |||
| 45ccf7d83b | |||
| 6ae6283f5e | |||
| 53aeafd7a2 | |||
| 3dd751b730 | |||
| 93303b45cb | |||
| 8ce5811fe7 | |||
| dc349dd356 | |||
| 18ff6c1ef4 | |||
| dc579c0ccc | |||
| cae7a5f25c | |||
| 62d46b62da | |||
| 43358dee85 | |||
| d9ba299412 | |||
| 26e1535b58 | |||
| a96dd31be6 | |||
| fe45511712 | |||
| 90ea4d8aa1 | |||
| d04ed76f1b | |||
| f1824b5393 | |||
| 675deff599 | |||
| 256cd14bf0 | |||
| 620b8c3a0c | |||
| 20e4529e35 | |||
| 8a26c0d753 | |||
| b2580e1d76 | |||
| a65b8d5d51 | |||
| 7e912a2985 | |||
| 1b9563d366 | |||
| ce8b75de58 | |||
| 280f25d2fe | |||
| 69669d6cf7 | |||
| 39d70e3944 | |||
| cb5e55b06c | |||
| ea23ce295a | |||
| 4cf9093cc5 | |||
| 46bae3ce68 | |||
| dfa8fb3e4c | |||
| a2df8f9890 | |||
| 7253edeada | |||
| 2efe3cec7a | |||
| 4506d5716d | |||
| 83aff6e470 | |||
| 3138dc7fbd | |||
| 4566734662 | |||
| d591b7e3b9 | |||
| 9c45d6b025 | |||
| 482af41673 | |||
| 0a75d8e8fa | |||
| 1d18e8f9a8 | |||
| f6365e7363 | |||
| 84aeb77011 |
Vendored
+2
-2
@@ -9,8 +9,8 @@ pipeline {
|
||||
disableConcurrentBuilds()
|
||||
}
|
||||
tools {
|
||||
jdk 'JDK 1.7 (latest)'
|
||||
maven 'Maven 3 (latest)'
|
||||
jdk 'jdk_1.7_latest'
|
||||
maven 'maven_3_latest'
|
||||
}
|
||||
triggers {
|
||||
pollSCM 'H/15 * * * *'
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-parent</artifactId>
|
||||
<version>2.5.25</version>
|
||||
<version>2.5.29</version>
|
||||
</parent>
|
||||
<artifactId>struts2-apps</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
|
||||
@@ -24,12 +24,12 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-apps</artifactId>
|
||||
<version>2.5.25</version>
|
||||
<version>2.5.29</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>struts2-rest-showcase</artifactId>
|
||||
<packaging>war</packaging>
|
||||
<version>2.5.25</version>
|
||||
<version>2.5.29</version>
|
||||
<name>Struts 2 Rest Showcase Webapp</name>
|
||||
<description>Struts 2 Rest Showcase Example</description>
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-apps</artifactId>
|
||||
<version>2.5.25</version>
|
||||
<version>2.5.29</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>struts2-showcase</artifactId>
|
||||
|
||||
@@ -22,12 +22,12 @@ ${parameters.after!}<#t/>
|
||||
</td><#lt/>
|
||||
</tr>
|
||||
<#if (parameters.errorposition!"top") == 'bottom'>
|
||||
<#assign hasFieldErrors = parameters.name?? && fieldErrors?? && fieldErrors[parameters.name]??/>
|
||||
<#assign hasFieldErrors = parameters.name?? && fieldErrors?? && fieldErrors.get(parameters.name)??/>
|
||||
<#if hasFieldErrors>
|
||||
<tr errorFor="${parameters.id}">
|
||||
<td class="tdErrorMessage" colspan="2"><#rt/>
|
||||
<#if hasFieldErrors>
|
||||
<#list fieldErrors[parameters.name] as error>
|
||||
<#list fieldErrors.get(parameters.name) as error>
|
||||
<div class="errorMessage">${error?html}</div><#t/>
|
||||
</#list>
|
||||
</#if>
|
||||
|
||||
+8
-8
@@ -21,29 +21,29 @@
|
||||
<#--
|
||||
Always include elements to show errors. They may be filled later via AJAX.
|
||||
-->
|
||||
<#assign hasFieldErrors = parameters.name?? && fieldErrors?? && fieldErrors[parameters.name]??/>
|
||||
<#assign hasFieldErrors = parameters.name?? && fieldErrors?? && fieldErrors.get(parameters.name)??/>
|
||||
<#if (parameters.errorposition!"top") == 'top'>
|
||||
<tr errorFor="${parameters.id}">
|
||||
<td class="tdErrorMessage" colspan="2" data-error-for-fieldname="${parameters.name}"><#rt/>
|
||||
<#if hasFieldErrors>
|
||||
<#list fieldErrors[parameters.name] as error>
|
||||
<#list fieldErrors.get(parameters.name) as error>
|
||||
<div class="errorMessage">${error?html}</div><#t/>
|
||||
</#list>
|
||||
</#if>
|
||||
</td><#lt/>
|
||||
</tr>
|
||||
</#if>
|
||||
<#if !parameters.labelposition?? && (parameters.form.labelposition)??>
|
||||
<#assign labelpos = parameters.form.labelposition/>
|
||||
<#elseif parameters.labelposition??>
|
||||
<#assign labelpos = parameters.labelposition/>
|
||||
<#if !parameters.labelPosition?? && (parameters.form.labelPosition)??>
|
||||
<#assign labelPos = parameters.form.labelPosition/>
|
||||
<#elseif parameters.labelPosition??>
|
||||
<#assign labelpos = parameters.labelPosition/>
|
||||
</#if>
|
||||
<#--
|
||||
if the label position is top,
|
||||
then give the label it's own row in the table
|
||||
-->
|
||||
<tr>
|
||||
<#if (labelpos!"") == 'top'>
|
||||
<#if (labelPos!"") == 'top'>
|
||||
<td class="tdLabelTop" colspan="2"><#rt/>
|
||||
<#else>
|
||||
<td class="tdLabel"><#rt/>
|
||||
@@ -72,7 +72,7 @@ ${parameters.labelseparator!":"?html}<#t/>
|
||||
</#if>
|
||||
</td><#lt/>
|
||||
<#-- add the extra row -->
|
||||
<#if (labelpos!"") == 'top'>
|
||||
<#if (labelPos!"") == 'top'>
|
||||
</tr>
|
||||
<tr>
|
||||
</#if>
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-parent</artifactId>
|
||||
<version>2.5.25</version>
|
||||
<version>2.5.29</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>struts2-assembly</artifactId>
|
||||
|
||||
+3
-3
@@ -30,7 +30,7 @@
|
||||
</parent>
|
||||
|
||||
<artifactId>struts2-bom</artifactId>
|
||||
<version>2.5.25</version>
|
||||
<version>2.5.29</version>
|
||||
<packaging>pom</packaging>
|
||||
|
||||
<name>Struts 2 Bill of Materials</name>
|
||||
@@ -45,7 +45,7 @@
|
||||
</licenses>
|
||||
|
||||
<properties>
|
||||
<struts-version.version>2.5.25</struts-version.version>
|
||||
<struts-version.version>2.5.29</struts-version.version>
|
||||
<maven.site.skip>true</maven.site.skip>
|
||||
<maven.site.deploy.skip>true</maven.site.deploy.skip>
|
||||
</properties>
|
||||
@@ -181,7 +181,7 @@
|
||||
</dependencyManagement>
|
||||
|
||||
<scm>
|
||||
<tag>STRUTS_2_5_25</tag>
|
||||
<tag>STRUTS_2_5_29</tag>
|
||||
<connection>scm:git:https://gitbox.apache.org/repos/asf/struts.git</connection>
|
||||
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/struts.git</developerConnection>
|
||||
<url>https://github.com/apache/struts/</url>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-osgi-bundles</artifactId>
|
||||
<version>2.5.25</version>
|
||||
<version>2.5.29</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>struts2-osgi-admin-bundle</artifactId>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-osgi-bundles</artifactId>
|
||||
<version>2.5.25</version>
|
||||
<version>2.5.29</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>struts2-osgi-demo-bundle</artifactId>
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-parent</artifactId>
|
||||
<version>2.5.25</version>
|
||||
<version>2.5.29</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>struts2-osgi-bundles</artifactId>
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-parent</artifactId>
|
||||
<version>2.5.25</version>
|
||||
<version>2.5.29</version>
|
||||
</parent>
|
||||
<artifactId>struts2-core</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
@@ -44,15 +44,17 @@ public enum Scope {
|
||||
@Override
|
||||
<T> InternalFactory<? extends T> scopeFactory(Class<T> type, String name, final InternalFactory<? extends T> factory) {
|
||||
return new InternalFactory<T>() {
|
||||
T instance;
|
||||
volatile T instance;
|
||||
|
||||
public T create(InternalContext context) {
|
||||
synchronized (context.getContainer()) {
|
||||
if (instance == null) {
|
||||
instance = InitializableFactory.wrapIfNeeded(factory).create(context);
|
||||
if (instance == null) {
|
||||
synchronized (context.getContainer()) {
|
||||
if (instance == null) {
|
||||
instance = InitializableFactory.wrapIfNeeded(factory).create(context);
|
||||
}
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+5
-13
@@ -227,21 +227,13 @@ public class StaticParametersInterceptor extends AbstractInterceptor {
|
||||
protected void addParametersToContext(ActionContext ac, Map<String, ?> newParams) {
|
||||
HttpParameters previousParams = ac.getParameters();
|
||||
|
||||
HttpParameters.Builder combinedParams = HttpParameters.create();
|
||||
HttpParameters.Builder combinedParams;
|
||||
if (overwrite) {
|
||||
if (previousParams != null) {
|
||||
combinedParams = combinedParams.withParent(previousParams);
|
||||
}
|
||||
if (newParams != null) {
|
||||
combinedParams = combinedParams.withExtraParams(newParams);
|
||||
}
|
||||
combinedParams = HttpParameters.create().withParent( previousParams);
|
||||
combinedParams = combinedParams.withExtraParams(newParams);
|
||||
} else {
|
||||
if (newParams != null) {
|
||||
combinedParams = combinedParams.withExtraParams(newParams);
|
||||
}
|
||||
if (previousParams != null) {
|
||||
combinedParams = combinedParams.withParent(previousParams);
|
||||
}
|
||||
combinedParams = HttpParameters.create(newParams);
|
||||
combinedParams = combinedParams.withExtraParams(previousParams);
|
||||
}
|
||||
ac.setParameters(combinedParams.build());
|
||||
}
|
||||
|
||||
@@ -31,8 +31,6 @@ import java.lang.reflect.Field;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.text.MessageFormat;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
@@ -61,7 +59,7 @@ abstract class AbstractLocalizedTextProvider implements LocalizedTextProvider {
|
||||
|
||||
private final ConcurrentMap<MessageFormatKey, MessageFormat> messageFormats = new ConcurrentHashMap<>();
|
||||
private final ConcurrentMap<Integer, List<String>> classLoaderMap = new ConcurrentHashMap<>();
|
||||
private final Set<String> missingBundles = Collections.synchronizedSet(new HashSet<String>());
|
||||
private final ConcurrentMap<String, Boolean> missingBundles = new ConcurrentHashMap<>();
|
||||
private final ConcurrentMap<Integer, ClassLoader> delegatedClassLoaderMap = new ConcurrentHashMap<>();
|
||||
|
||||
/**
|
||||
@@ -390,7 +388,7 @@ abstract class AbstractLocalizedTextProvider implements LocalizedTextProvider {
|
||||
ClassLoader classLoader = getCurrentThreadContextClassLoader();
|
||||
String key = createMissesKey(String.valueOf(classLoader.hashCode()), aBundleName, locale);
|
||||
|
||||
if (missingBundles.contains(key)) {
|
||||
if (missingBundles.containsKey(key)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -413,11 +411,11 @@ abstract class AbstractLocalizedTextProvider implements LocalizedTextProvider {
|
||||
}
|
||||
} catch (MissingResourceException e) {
|
||||
LOG.debug("Missing resource bundle [{}]!", aBundleName, e);
|
||||
missingBundles.add(key);
|
||||
missingBundles.putIfAbsent(key, Boolean.TRUE);
|
||||
}
|
||||
} else {
|
||||
LOG.debug("Missing resource bundle [{}]!", aBundleName);
|
||||
missingBundles.add(key);
|
||||
missingBundles.putIfAbsent(key, Boolean.TRUE);
|
||||
}
|
||||
}
|
||||
return bundle;
|
||||
|
||||
@@ -83,4 +83,21 @@ public class Checkbox extends UIBean {
|
||||
this.fieldValue = fieldValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* Deprecated since 2.5.27
|
||||
* @deprecated use {@link #setLabelPosition(String)} instead
|
||||
*/
|
||||
@Deprecated
|
||||
@Override
|
||||
@StrutsTagAttribute(description="(Deprecated) Define label position of form element (top/left), also 'right' is supported when using 'xhtml' theme")
|
||||
public void setLabelposition(String labelPosition) {
|
||||
super.setLabelposition(labelPosition);
|
||||
}
|
||||
|
||||
@Override
|
||||
@StrutsTagAttribute(description="Define label position of form element (top/left), also 'right' is supported when using 'xhtml' theme")
|
||||
public void setLabelPosition(String labelPosition) {
|
||||
super.setLabelPosition(labelPosition);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ import com.opensymphony.xwork2.util.ValueStack;
|
||||
allowDynamicAttributes = true)
|
||||
public class CheckboxList extends ListUIBean {
|
||||
final public static String TEMPLATE = "checkboxlist";
|
||||
|
||||
|
||||
public CheckboxList(ValueStack stack, HttpServletRequest request, HttpServletResponse response) {
|
||||
super(stack, request, response);
|
||||
}
|
||||
@@ -56,9 +56,19 @@ public class CheckboxList extends ListUIBean {
|
||||
protected String getDefaultTemplate() {
|
||||
return TEMPLATE;
|
||||
}
|
||||
|
||||
|
||||
public void evaluateExtraParams() {
|
||||
super.evaluateExtraParams();
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
* Checkboxlist tag requires lazy evaluation as list of tags is dynamically generated using <s:iterator/>
|
||||
*
|
||||
* @return boolean true by default
|
||||
*/
|
||||
@Override
|
||||
protected boolean lazyEvaluation() {
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -300,7 +300,7 @@ public class Component {
|
||||
* expression otherwise.
|
||||
*/
|
||||
protected String completeExpressionIfAltSyntax(String expr) {
|
||||
if (altSyntax()) {
|
||||
if (altSyntax() && !ComponentUtils.containsExpression(expr)) {
|
||||
return "%{" + expr + "}";
|
||||
}
|
||||
return expr;
|
||||
@@ -382,6 +382,15 @@ public class Component {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Detects if altSyntax is enabled and then checks if expression contains %{...}
|
||||
* @param expr a string to examined
|
||||
* @return true if altSyntax is enabled and expr contains %{...}
|
||||
*/
|
||||
protected boolean recursion(String expr) {
|
||||
return ComponentUtils.altSyntax(stack) && ComponentUtils.containsExpression(expr);
|
||||
}
|
||||
|
||||
/**
|
||||
* Renders an action URL by consulting the {@link org.apache.struts2.dispatcher.mapper.ActionMapper}.
|
||||
* @param action the action
|
||||
|
||||
@@ -221,7 +221,7 @@ public class Form extends ClosingUIBean {
|
||||
@Override
|
||||
protected void populateComponentHtmlId(Form form) {
|
||||
if (id != null) {
|
||||
addParameter("id", escape(id));
|
||||
super.populateComponentHtmlId(null);
|
||||
}
|
||||
|
||||
// if no id given, it will be tried to generate it from the action attribute
|
||||
|
||||
@@ -188,7 +188,6 @@ public abstract class ListUIBean extends UIBean {
|
||||
this.listTitle = listTitle;
|
||||
}
|
||||
|
||||
|
||||
public void setThrowExceptionOnNullValueAttribute(boolean throwExceptionOnNullValueAttribute) {
|
||||
this.throwExceptionOnNullValueAttribute = throwExceptionOnNullValueAttribute;
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ import javax.servlet.http.HttpServletResponse;
|
||||
allowDynamicAttributes = true)
|
||||
public class Radio extends ListUIBean {
|
||||
final public static String TEMPLATE = "radiomap";
|
||||
|
||||
|
||||
public Radio(ValueStack stack, HttpServletRequest request, HttpServletResponse response) {
|
||||
super(stack, request, response);
|
||||
}
|
||||
@@ -65,8 +65,19 @@ public class Radio extends ListUIBean {
|
||||
protected String getDefaultTemplate() {
|
||||
return TEMPLATE;
|
||||
}
|
||||
|
||||
|
||||
public void evaluateExtraParams() {
|
||||
super.evaluateExtraParams();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Radio tag requires lazy evaluation as list of tags is dynamically generated using <s:iterator/>
|
||||
*
|
||||
* @return boolean true by default
|
||||
*/
|
||||
@Override
|
||||
protected boolean lazyEvaluation() {
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -20,7 +20,9 @@ package org.apache.struts2.components;
|
||||
|
||||
import com.opensymphony.xwork2.config.ConfigurationException;
|
||||
import com.opensymphony.xwork2.inject.Inject;
|
||||
import com.opensymphony.xwork2.util.TextParseUtil;
|
||||
import com.opensymphony.xwork2.util.ValueStack;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
@@ -30,6 +32,7 @@ import org.apache.struts2.components.template.Template;
|
||||
import org.apache.struts2.components.template.TemplateEngine;
|
||||
import org.apache.struts2.components.template.TemplateEngineManager;
|
||||
import org.apache.struts2.components.template.TemplateRenderingContext;
|
||||
import org.apache.struts2.util.ComponentUtils;
|
||||
import org.apache.struts2.util.TextProviderHelper;
|
||||
import org.apache.struts2.views.annotations.StrutsTagAttribute;
|
||||
import org.apache.struts2.views.util.ContextUtil;
|
||||
@@ -637,7 +640,7 @@ public abstract class UIBean extends Component {
|
||||
public void evaluateParams() {
|
||||
String templateDir = getTemplateDir();
|
||||
String theme = getTheme();
|
||||
|
||||
|
||||
addParameter("templateDir", templateDir);
|
||||
addParameter("theme", theme);
|
||||
addParameter("template", template != null ? findString(template) : getDefaultTemplate());
|
||||
@@ -679,7 +682,9 @@ public abstract class UIBean extends Component {
|
||||
}
|
||||
|
||||
if (labelPosition != null) {
|
||||
addParameter("labelposition", findString(labelPosition));
|
||||
String labelPosition = findString(this.labelPosition);
|
||||
addParameter("labelposition", labelPosition);
|
||||
addParameter("labelPosition", labelPosition);
|
||||
}
|
||||
|
||||
if (requiredPosition != null) {
|
||||
@@ -689,7 +694,7 @@ public abstract class UIBean extends Component {
|
||||
if (errorPosition != null) {
|
||||
addParameter("errorposition", findString(errorPosition));
|
||||
}
|
||||
|
||||
|
||||
if (requiredLabel != null) {
|
||||
addParameter("required", findValue(requiredLabel, Boolean.class));
|
||||
}
|
||||
@@ -795,8 +800,11 @@ public abstract class UIBean extends Component {
|
||||
addParameter("nameValue", findValue(value, valueClazz));
|
||||
} else if (name != null) {
|
||||
String expr = completeExpressionIfAltSyntax(name);
|
||||
|
||||
addParameter("nameValue", findValue(expr, valueClazz));
|
||||
if (recursion(name)) {
|
||||
addParameter("nameValue", expr);
|
||||
} else {
|
||||
addParameter("nameValue", findValue(expr, valueClazz));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (value != null) {
|
||||
@@ -1002,7 +1010,7 @@ public abstract class UIBean extends Component {
|
||||
} else {
|
||||
tryId = generatedId;
|
||||
}
|
||||
|
||||
|
||||
//fix for https://issues.apache.org/jira/browse/WW-4299
|
||||
//do not assign value to id if tryId is null
|
||||
if (tryId != null) {
|
||||
@@ -1021,9 +1029,7 @@ public abstract class UIBean extends Component {
|
||||
|
||||
@StrutsTagAttribute(description="HTML id attribute")
|
||||
public void setId(String id) {
|
||||
if (id != null) {
|
||||
this.id = findString(id);
|
||||
}
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
@StrutsTagAttribute(description="The template directory.")
|
||||
@@ -1050,7 +1056,8 @@ public abstract class UIBean extends Component {
|
||||
this.cssClass = cssClass;
|
||||
}
|
||||
|
||||
@StrutsTagAttribute(description="The css class to use for element - it's an alias of cssClass attribute.")
|
||||
@Deprecated
|
||||
@StrutsTagAttribute(description="(Deprecated) The css class to use for element - it's an alias of cssClass attribute.")
|
||||
public void setClass(String cssClass) {
|
||||
this.cssClass = cssClass;
|
||||
}
|
||||
@@ -1095,8 +1102,19 @@ public abstract class UIBean extends Component {
|
||||
this.labelSeparator = labelseparator;
|
||||
}
|
||||
|
||||
@StrutsTagAttribute(description="Define label position of form element (top/left)")
|
||||
/**
|
||||
* Deprecated since 2.5.27
|
||||
* @deprecated use {@link #setLabelPosition(String)} instead
|
||||
*/
|
||||
@StrutsTagAttribute(description="(Deprecated) Define label position of form element (top/left)")
|
||||
@Deprecated
|
||||
public void setLabelposition(String labelPosition) {
|
||||
LOG.warn("\"labelposition\" attribute is deprecated, please use \"labelPosition\" instead!");
|
||||
this.labelPosition = labelPosition;
|
||||
}
|
||||
|
||||
@StrutsTagAttribute(description="Define label position of form element (top/left)")
|
||||
public void setLabelPosition(String labelPosition) {
|
||||
this.labelPosition = labelPosition;
|
||||
}
|
||||
|
||||
@@ -1109,7 +1127,7 @@ public abstract class UIBean extends Component {
|
||||
public void setErrorPosition(String errorPosition) {
|
||||
this.errorPosition = errorPosition;
|
||||
}
|
||||
|
||||
|
||||
@StrutsTagAttribute(description="The name to set for element")
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
@@ -1241,22 +1259,28 @@ public abstract class UIBean extends Component {
|
||||
this.tooltipIconPath = tooltipIconPath;
|
||||
}
|
||||
|
||||
public void setDynamicAttributes(Map<String, Object> tagDynamicAttributes) {
|
||||
for (Map.Entry<String, Object> entry : tagDynamicAttributes.entrySet()) {
|
||||
String key = entry.getKey();
|
||||
public void setDynamicAttributes(Map<String, String> tagDynamicAttributes) {
|
||||
for (Map.Entry<String, String> entry : tagDynamicAttributes.entrySet()) {
|
||||
String attrName = entry.getKey();
|
||||
String attrValue = entry.getValue();
|
||||
|
||||
if (!isValidTagAttribute(key)) {
|
||||
dynamicAttributes.put(key, entry.getValue());
|
||||
if (!isValidTagAttribute(attrName)) {
|
||||
if (ComponentUtils.altSyntax(getStack()) && ComponentUtils.containsExpression(attrValue) && !lazyEvaluation()) {
|
||||
String translated = TextParseUtil.translateVariables('%', attrValue, stack);
|
||||
dynamicAttributes.put(attrName, ObjectUtils.defaultIfNull(translated, attrValue));
|
||||
} else {
|
||||
dynamicAttributes.put(attrName, attrValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
/**
|
||||
* supports dynamic attributes for freemarker ui tags
|
||||
* @see https://issues.apache.org/jira/browse/WW-3174
|
||||
* @see https://issues.apache.org/jira/browse/WW-4166
|
||||
* @see "https://issues.apache.org/jira/browse/WW-3174"
|
||||
* @see "https://issues.apache.org/jira/browse/WW-4166"
|
||||
*/
|
||||
@Override
|
||||
public void copyParams(Map params) {
|
||||
super.copyParams(params);
|
||||
for (Object o : params.entrySet()) {
|
||||
@@ -1268,4 +1292,14 @@ public abstract class UIBean extends Component {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Used to avoid evaluating attributes in {@link #evaluateParams()} or {@link #evaluateExtraParams()}
|
||||
* as evaluation will happen in tag's template
|
||||
*
|
||||
* @return boolean false if evaluation should be performed in ftl
|
||||
*/
|
||||
protected boolean lazyEvaluation() {
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+9
-3
@@ -64,7 +64,7 @@ public class FreemarkerTemplateEngine extends BaseTemplateEngine {
|
||||
public void setFreemarkerManager(FreemarkerManager mgr) {
|
||||
this.freemarkerManager = mgr;
|
||||
}
|
||||
|
||||
|
||||
public void renderTemplate(TemplateRenderingContext templateContext) throws Exception {
|
||||
// get the various items required from the stack
|
||||
ValueStack stack = templateContext.getStack();
|
||||
@@ -121,6 +121,10 @@ public class FreemarkerTemplateEngine extends BaseTemplateEngine {
|
||||
ActionInvocation ai = ActionContext.getContext().getActionInvocation();
|
||||
|
||||
Object action = (ai == null) ? null : ai.getAction();
|
||||
if (action == null) {
|
||||
LOG.warn("Rendering tag {} out of Action scope, accessing directly JSPs is not recommended! " +
|
||||
"Please read https://struts.apache.org/security/#never-expose-jsp-files-directly", templateName);
|
||||
}
|
||||
SimpleHash model = freemarkerManager.buildTemplateModel(stack, action, servletContext, req, res, config.getObjectWrapper());
|
||||
|
||||
model.put("tag", templateContext.getTag());
|
||||
@@ -144,10 +148,12 @@ public class FreemarkerTemplateEngine extends BaseTemplateEngine {
|
||||
}
|
||||
};
|
||||
|
||||
LOG.debug("Push tag on top of the stack");
|
||||
stack.push(templateContext.getTag());
|
||||
try {
|
||||
stack.push(templateContext.getTag());
|
||||
template.process(model, writer);
|
||||
} finally {
|
||||
LOG.debug("Removes tag from top of the stack");
|
||||
stack.pop();
|
||||
}
|
||||
}
|
||||
@@ -155,4 +161,4 @@ public class FreemarkerTemplateEngine extends BaseTemplateEngine {
|
||||
protected String getSuffix() {
|
||||
return "ftl";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -192,7 +192,11 @@ public class HttpParameters implements Map<String, Parameter>, Cloneable {
|
||||
for (Map.Entry<String, Object> entry : requestParameterMap.entrySet()) {
|
||||
String name = entry.getKey();
|
||||
Object value = entry.getValue();
|
||||
parameters.put(name, new Parameter.Request(name, value));
|
||||
if (value instanceof Parameter) {
|
||||
parameters.put(name, (Parameter) value);
|
||||
} else {
|
||||
parameters.put(name, new Parameter.Request(name, value));
|
||||
}
|
||||
}
|
||||
|
||||
return new HttpParameters(parameters);
|
||||
|
||||
@@ -149,7 +149,7 @@ public class PostbackResult extends StrutsResultSupport {
|
||||
} else {
|
||||
String location = getLocation();
|
||||
// Do not prepend if the URL is a FQN
|
||||
if (!location.matches("^([a-zA-z]+:)?//.*")) {
|
||||
if (!location.matches("^([a-zA-Z]+:)?//.*")) {
|
||||
// If the URL is relative to the servlet context, prepend the servlet context path
|
||||
if (prependServletContext && (request.getContextPath() != null) && (request.getContextPath().length() > 0)) {
|
||||
location = request.getContextPath() + location;
|
||||
|
||||
@@ -18,9 +18,7 @@
|
||||
*/
|
||||
package org.apache.struts2.views.jsp.ui;
|
||||
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.struts2.components.UIBean;
|
||||
import org.apache.struts2.util.ComponentUtils;
|
||||
import org.apache.struts2.views.jsp.ComponentTagSupport;
|
||||
|
||||
import javax.servlet.jsp.JspException;
|
||||
@@ -32,6 +30,7 @@ import java.util.Map;
|
||||
* Abstract base class for all UI tags.
|
||||
*/
|
||||
public abstract class AbstractUITag extends ComponentTagSupport implements DynamicAttributes {
|
||||
|
||||
protected String cssClass;
|
||||
protected String cssErrorClass;
|
||||
protected String cssStyle;
|
||||
@@ -40,7 +39,9 @@ public abstract class AbstractUITag extends ComponentTagSupport implements Dynam
|
||||
protected String disabled;
|
||||
protected String label;
|
||||
protected String labelSeparator;
|
||||
@Deprecated
|
||||
protected String labelposition;
|
||||
protected String labelPosition;
|
||||
protected String requiredPosition;
|
||||
protected String errorPosition;
|
||||
protected String name;
|
||||
@@ -78,7 +79,7 @@ public abstract class AbstractUITag extends ComponentTagSupport implements Dynam
|
||||
protected String tooltipIconPath;
|
||||
|
||||
// dynamic attributes.
|
||||
protected Map<String, Object> dynamicAttributes = new HashMap<>();
|
||||
protected Map<String, String> dynamicAttributes = new HashMap<>();
|
||||
|
||||
protected void populateParams() {
|
||||
super.populateParams();
|
||||
@@ -92,7 +93,11 @@ public abstract class AbstractUITag extends ComponentTagSupport implements Dynam
|
||||
uiBean.setDisabled(disabled);
|
||||
uiBean.setLabel(label);
|
||||
uiBean.setLabelSeparator(labelSeparator);
|
||||
uiBean.setLabelposition(labelposition);
|
||||
if (labelposition != null && labelPosition == null) {
|
||||
uiBean.setLabelposition(labelposition);
|
||||
} else {
|
||||
uiBean.setLabelPosition(labelPosition);
|
||||
}
|
||||
uiBean.setRequiredPosition(requiredPosition);
|
||||
uiBean.setErrorPosition(errorPosition);
|
||||
uiBean.setName(name);
|
||||
@@ -137,6 +142,10 @@ public abstract class AbstractUITag extends ComponentTagSupport implements Dynam
|
||||
this.cssClass = cssClass;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated Use {@link #setCssClass(String)} instead
|
||||
*/
|
||||
@Deprecated
|
||||
public void setClass(String cssClass) {
|
||||
this.cssClass = cssClass;
|
||||
}
|
||||
@@ -169,8 +178,17 @@ public abstract class AbstractUITag extends ComponentTagSupport implements Dynam
|
||||
this.label = label;
|
||||
}
|
||||
|
||||
public void setLabelposition(String labelPosition) {
|
||||
this.labelposition = labelPosition;
|
||||
/**
|
||||
* Deprecated since 2.5.27
|
||||
* @deprecated use {@link #setLabelPosition(String)} instead
|
||||
*/
|
||||
@Deprecated
|
||||
public void setLabelposition(String labelposition) {
|
||||
this.labelposition = labelposition;
|
||||
}
|
||||
|
||||
public void setLabelPosition(String labelPosition) {
|
||||
this.labelPosition = labelPosition;
|
||||
}
|
||||
|
||||
public void setRequiredPosition(String requiredPosition) {
|
||||
@@ -302,11 +320,7 @@ public abstract class AbstractUITag extends ComponentTagSupport implements Dynam
|
||||
}
|
||||
|
||||
public void setDynamicAttribute(String uri, String localName, Object value) throws JspException {
|
||||
if (ComponentUtils.altSyntax(getStack()) && ComponentUtils.isExpression(value.toString())) {
|
||||
dynamicAttributes.put(localName, String.valueOf(ObjectUtils.defaultIfNull(findValue(value.toString()), value)));
|
||||
} else {
|
||||
dynamicAttributes.put(localName, value);
|
||||
}
|
||||
dynamicAttributes.put(localName, String.valueOf(value));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -18,13 +18,12 @@
|
||||
*/
|
||||
package org.apache.struts2.views.jsp.ui;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.opensymphony.xwork2.util.ValueStack;
|
||||
import org.apache.struts2.components.Checkbox;
|
||||
import org.apache.struts2.components.Component;
|
||||
|
||||
import com.opensymphony.xwork2.util.ValueStack;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
/**
|
||||
* @see Checkbox
|
||||
|
||||
@@ -73,7 +73,19 @@
|
||||
com.opensymphony.xwork2.inject.,
|
||||
com.opensymphony.xwork2.ognl.,
|
||||
com.opensymphony.xwork2.security.,
|
||||
com.opensymphony.xwork2.util." />
|
||||
com.opensymphony.xwork2.util.,
|
||||
org.apache.tomcat.,
|
||||
org.apache.catalina.core.,
|
||||
com.ibm.websphere.,
|
||||
org.apache.geronimo.,
|
||||
org.apache.openejb.,
|
||||
org.apache.tomee.,
|
||||
org.eclipse.jetty.,
|
||||
org.mortbay.jetty.,
|
||||
org.glassfish.,
|
||||
org.jboss.as.,
|
||||
org.wildfly.,
|
||||
weblogic.," />
|
||||
|
||||
<bean class="com.opensymphony.xwork2.ObjectFactory" name="struts"/>
|
||||
<bean type="com.opensymphony.xwork2.factory.ResultFactory" name="struts" class="org.apache.struts2.factory.StrutsResultFactory" />
|
||||
|
||||
@@ -24,16 +24,16 @@
|
||||
#set ($hasFieldErrors = $fieldErrors.get($parameters.name))
|
||||
#foreach ($error in $fieldErrors.get($parameters.name))
|
||||
<tr errorFor="$parameters.id">
|
||||
#if ($parameters.labelposition == 'top')<td align="left" valign="top" colspan="2">#else<td align="center" valign="top" colspan="2">#end<span class="errorMessage">$!struts.htmlEncode($error)</span></td>
|
||||
#if ($parameters.labelPosition == 'top')<td align="left" valign="top" colspan="2">#else<td align="center" valign="top" colspan="2">#end<span class="errorMessage">$!struts.htmlEncode($error)</span></td>
|
||||
</tr>
|
||||
#end
|
||||
#end
|
||||
## if the label position is top,
|
||||
## then give the label it's own row in the table
|
||||
<tr>
|
||||
#if ($parameters.labelposition && $parameters.labelposition == 'top')<td align="left" valign="top" colspan="2">#else<td align="right" valign="top">#end#if ($parameters.label)<label #if ($parameters.id) for="$!struts.htmlEncode($parameters.id)"#end#if ($hasFieldErrors) class="errorLabel"#else class="label"#end>#if ($parameters.required)<span class="required">*</span>#end$!struts.htmlEncode($parameters.label):</label>#end</td>
|
||||
#if ($parameters.labelPosition && $parameters.labelPosition == 'top')<td align="left" valign="top" colspan="2">#else<td align="right" valign="top">#end#if ($parameters.label)<label #if ($parameters.id) for="$!struts.htmlEncode($parameters.id)"#end#if ($hasFieldErrors) class="errorLabel"#else class="label"#end>#if ($parameters.required)<span class="required">*</span>#end$!struts.htmlEncode($parameters.label):</label>#end</td>
|
||||
## add the extra row
|
||||
#if ($parameters.labelposition && $parameters.labelposition == 'top')
|
||||
#if ($parameters.labelPosition && $parameters.labelPosition == 'top')
|
||||
</tr>
|
||||
<tr>
|
||||
#end
|
||||
|
||||
@@ -23,12 +23,12 @@ NOTE: The 'header' stuff that follows is in this one file for checkbox due to th
|
||||
that for checkboxes we do not want the label field to show up as checkboxes handle their own
|
||||
lables
|
||||
-->
|
||||
<#assign hasFieldErrors = fieldErrors?? && fieldErrors[parameters.name]??/>
|
||||
<#assign hasFieldErrors = fieldErrors?? && fieldErrors.get(parameters.name)??/>
|
||||
<div <#rt/><#if parameters.id??>id="wwgrp_${parameters.id}"<#rt/></#if> class="wwgrp">
|
||||
|
||||
<#if hasFieldErrors>
|
||||
<div <#rt/><#if parameters.id??>id="wwerr_${parameters.id}"<#rt/></#if> class="wwerr">
|
||||
<#list fieldErrors[parameters.name] as error>
|
||||
<#list fieldErrors.get(parameters.name) as error>
|
||||
<div<#rt/>
|
||||
<#if parameters.id??>
|
||||
errorFor="${parameters.id}"<#rt/>
|
||||
@@ -39,12 +39,12 @@ lables
|
||||
</#list>
|
||||
</div><#t/>
|
||||
</#if>
|
||||
<#if !parameters.labelposition?? && (parameters.form.labelposition)??>
|
||||
<#assign labelpos = parameters.form.labelposition/>
|
||||
<#elseif parameters.labelposition??>
|
||||
<#assign labelpos = parameters.labelposition/>
|
||||
<#if !parameters.labelPosition?? && (parameters.form.labelPosition)??>
|
||||
<#assign labelPos = parameters.form.labelPosition/>
|
||||
<#elseif parameters.labelPosition??>
|
||||
<#assign labelPos = parameters.labelPosition/>
|
||||
</#if>
|
||||
<#if (labelpos!"") == 'left'>
|
||||
<#if (labelPos!"") == 'left'>
|
||||
<span <#rt/>
|
||||
<#if parameters.id??>id="wwlbl_${parameters.id}"<#rt/></#if> class="wwlbl">
|
||||
<label<#t/>
|
||||
@@ -60,7 +60,7 @@ lables
|
||||
</span>
|
||||
</#if>
|
||||
|
||||
<#if (labelpos!"top") == 'top'>
|
||||
<#if (labelPos!"top") == 'top'>
|
||||
<div <#rt/>
|
||||
<#else>
|
||||
<span <#rt/>
|
||||
@@ -72,14 +72,14 @@ lables
|
||||
</#if>
|
||||
|
||||
<#include "/${parameters.templateDir}/simple/checkbox.ftl" />
|
||||
<#if (labelpos!"") != 'left'>
|
||||
<#if (labelpos!"top") == 'top'>
|
||||
<#if (labelPos!"") != 'left'>
|
||||
<#if (labelPos!"top") == 'top'>
|
||||
</div> <#rt/>
|
||||
<#else>
|
||||
</span> <#rt/>
|
||||
</#if>
|
||||
<#if parameters.label??>
|
||||
<#if (labelpos!"top") == 'top'>
|
||||
<#if (labelPos!"top") == 'top'>
|
||||
<div <#rt/>
|
||||
<#else>
|
||||
<span <#rt/>
|
||||
@@ -98,7 +98,7 @@ lables
|
||||
</#if>
|
||||
</#if>
|
||||
<#if parameters.label??>
|
||||
<#if (labelpos!"top") == 'top'>
|
||||
<#if (labelPos!"top") == 'top'>
|
||||
</div> <#rt/>
|
||||
<#else>
|
||||
</span> <#rt/>
|
||||
|
||||
@@ -20,21 +20,21 @@
|
||||
-->
|
||||
${parameters.after!}<#t/>
|
||||
<#lt/>
|
||||
<#if !parameters.labelposition?? && (parameters.form.labelposition)??>
|
||||
<#assign labelpos = parameters.form.labelposition/>
|
||||
<#elseif parameters.labelposition??>
|
||||
<#assign labelpos = parameters.labelposition/>
|
||||
<#if !parameters.labelPosition?? && (parameters.form.labelPosition)??>
|
||||
<#assign labelPos = parameters.form.labelPosition/>
|
||||
<#elseif parameters.labelPosition??>
|
||||
<#assign labelPos = parameters.labelPosition/>
|
||||
</#if>
|
||||
<#if (labelpos!"top") == 'top'>
|
||||
<#if (labelPos!"top") == 'top'>
|
||||
</div> <#rt/>
|
||||
<#else>
|
||||
</span> <#rt/>
|
||||
</#if>
|
||||
<#if (parameters.errorposition!"top") == 'bottom'>
|
||||
<#assign hasFieldErrors = parameters.name?? && fieldErrors?? && fieldErrors[parameters.name]??/>
|
||||
<#assign hasFieldErrors = parameters.name?? && fieldErrors?? && fieldErrors.get(parameters.name)??/>
|
||||
<#if hasFieldErrors>
|
||||
<div <#rt/><#if parameters.id??>id="wwerr_${parameters.id}"<#rt/></#if> class="wwerr">
|
||||
<#list fieldErrors[parameters.name] as error>
|
||||
<#list fieldErrors.get(parameters.name) as error>
|
||||
<div<#rt/>
|
||||
<#if parameters.id??>
|
||||
errorFor="${parameters.id}"<#rt/>
|
||||
@@ -46,4 +46,4 @@ ${parameters.after!}<#t/>
|
||||
</div><#t/>
|
||||
</#if>
|
||||
</#if>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -22,13 +22,13 @@
|
||||
Only show message if errors are available.
|
||||
This will be done if ActionSupport is used.
|
||||
-->
|
||||
<#assign hasFieldErrors = parameters.name?? && fieldErrors?? && fieldErrors[parameters.name]??/>
|
||||
<#assign hasFieldErrors = parameters.name?? && fieldErrors?? && fieldErrors.get(parameters.name)??/>
|
||||
<div <#rt/><#if parameters.id??>id="wwgrp_${parameters.id}"<#rt/></#if> class="wwgrp">
|
||||
|
||||
|
||||
<#if (parameters.errorposition!"top") == 'top'>
|
||||
<#if hasFieldErrors>
|
||||
<div <#rt/><#if parameters.id??>id="wwerr_${parameters.id}"<#rt/></#if> class="wwerr">
|
||||
<#list fieldErrors[parameters.name] as error>
|
||||
<#list fieldErrors.get(parameters.name) as error>
|
||||
<div<#rt/>
|
||||
<#if parameters.id??>
|
||||
errorFor="${parameters.id}"<#rt/>
|
||||
@@ -41,13 +41,13 @@
|
||||
</#if>
|
||||
</#if>
|
||||
|
||||
<#if !parameters.labelposition?? && (parameters.form.labelposition)??>
|
||||
<#assign labelpos = parameters.form.labelposition/>
|
||||
<#elseif parameters.labelposition??>
|
||||
<#assign labelpos = parameters.labelposition/>
|
||||
<#if !parameters.labelPosition?? && (parameters.form.labelPosition)??>
|
||||
<#assign labelPos = parameters.form.labelPosition/>
|
||||
<#elseif parameters.labelPosition??>
|
||||
<#assign labelPos = parameters.labelPosition/>
|
||||
</#if>
|
||||
<#if parameters.label??>
|
||||
<#if (labelpos!"top") == 'top'>
|
||||
<#if (labelPos!"top") == 'top'>
|
||||
<div <#rt/>
|
||||
<#else>
|
||||
<span <#rt/>
|
||||
@@ -69,7 +69,7 @@
|
||||
${parameters.label?html}${parameters.labelseparator!":"?html}
|
||||
<#include "/${parameters.templateDir}/xhtml/tooltip.ftl" />
|
||||
</label><#t/>
|
||||
<#if (labelpos!"top") == 'top'>
|
||||
<#if (labelPos!"top") == 'top'>
|
||||
</div> <br /><#rt/>
|
||||
<#else>
|
||||
</span> <#rt/>
|
||||
|
||||
@@ -19,15 +19,14 @@
|
||||
*/
|
||||
-->
|
||||
<#include "/${parameters.templateDir}/${parameters.expandTheme}/controlheader-core.ftl">
|
||||
<#if !parameters.labelposition?? && (parameters.form.labelposition)??>
|
||||
<#assign labelpos = parameters.form.labelposition/>
|
||||
<#elseif parameters.labelposition??>
|
||||
<#assign labelpos = parameters.labelposition/>
|
||||
<#if !parameters.labelPosition?? && (parameters.form.labelPosition)??>
|
||||
<#assign labelPos = parameters.form.labelPosition/>
|
||||
<#elseif parameters.labelPosition??>
|
||||
<#assign labelPos = parameters.labelPosition/>
|
||||
</#if>
|
||||
<#if (labelpos!"top") == 'top'>
|
||||
<#if (labelPos!"top") == 'top'>
|
||||
<div <#rt/>
|
||||
<#else>
|
||||
<span <#rt/>
|
||||
</#if>
|
||||
<#if parameters.id??>id="wwctrl_${parameters.id}"<#rt/></#if> class="wwctrl">
|
||||
|
||||
|
||||
@@ -18,12 +18,12 @@
|
||||
* under the License.
|
||||
*/
|
||||
-->
|
||||
<#if !parameters.labelposition?? && (parameters.form.labelposition)??>
|
||||
<#assign labelpos = parameters.form.labelposition/>
|
||||
<#elseif parameters.labelposition??>
|
||||
<#assign labelpos = parameters.labelposition/>
|
||||
<#if !parameters.labelPosition?? && (parameters.form.labelPosition)??>
|
||||
<#assign labelPos = parameters.form.labelPosition/>
|
||||
<#elseif parameters.labelPosition??>
|
||||
<#assign labelPos = parameters.labelPosition/>
|
||||
</#if>
|
||||
<#if (labelpos!"top") == 'top'>
|
||||
<#if (labelPos!"top") == 'top'>
|
||||
<div <#rt/>
|
||||
<#else>
|
||||
<span <#rt/>
|
||||
@@ -34,7 +34,7 @@
|
||||
</#if>
|
||||
><#t/>
|
||||
<#include "/${parameters.templateDir}/simple/reset.ftl" />
|
||||
<#if (labelpos!"top") == 'top'>
|
||||
<#if (labelPos!"top") == 'top'>
|
||||
</div> <#t/>
|
||||
<#else>
|
||||
</span> <#t/>
|
||||
|
||||
@@ -19,12 +19,12 @@
|
||||
*/
|
||||
-->
|
||||
<#include "/${parameters.templateDir}/simple/submit-close.ftl" />
|
||||
<#if !parameters.labelposition?? && (parameters.form.labelposition)??>
|
||||
<#assign labelpos = parameters.form.labelposition/>
|
||||
<#elseif parameters.labelposition??>
|
||||
<#assign labelpos = parameters.labelposition/>
|
||||
<#if !parameters.labelPosition?? && (parameters.form.labelPosition)??>
|
||||
<#assign labelPos = parameters.form.labelPosition/>
|
||||
<#elseif parameters.labelPosition??>
|
||||
<#assign labelPos = parameters.labelPosition/>
|
||||
</#if>
|
||||
<#if (labelpos!"top") == 'top'>
|
||||
<#if (labelPos!"top") == 'top'>
|
||||
</div> <#t/>
|
||||
<#else>
|
||||
</span> <#t/>
|
||||
|
||||
@@ -18,12 +18,12 @@
|
||||
* under the License.
|
||||
*/
|
||||
-->
|
||||
<#if !parameters.labelposition?? && (parameters.form.labelposition)??>
|
||||
<#assign labelpos = parameters.form.labelposition/>
|
||||
<#elseif parameters.labelposition??>
|
||||
<#assign labelpos = parameters.labelposition/>
|
||||
<#if !parameters.labelPosition?? && (parameters.form.labelPosition)??>
|
||||
<#assign labelPos = parameters.form.labelPosition/>
|
||||
<#elseif parameters.labelPosition??>
|
||||
<#assign labelPos = parameters.labelPosition/>
|
||||
</#if>
|
||||
<#if (labelpos!"top") == 'top'>
|
||||
<#if (labelPos!"top") == 'top'>
|
||||
<div <#rt/>
|
||||
<#else>
|
||||
<span <#rt/>
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
<#assign itemKeyStr = stack.findString('top')>
|
||||
</#if>
|
||||
<#if parameters.listLabelKey??>
|
||||
<#-- checks the valueStack for the 'valueKey.' The valueKey is then looked-up in the locale
|
||||
<#-- 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??>
|
||||
@@ -95,9 +95,10 @@
|
||||
<#include "/${parameters.templateDir}/${parameters.expandTheme}/css.ftl" />
|
||||
<#include "/${parameters.templateDir}/${parameters.expandTheme}/scripting-events.ftl" />
|
||||
<#include "/${parameters.templateDir}/${parameters.expandTheme}/common-attributes.ftl" />
|
||||
<#global evaluate_dynamic_attributes = true/>
|
||||
<#include "/${parameters.templateDir}/${parameters.expandTheme}/dynamic-attributes.ftl" />
|
||||
/>
|
||||
<label<#rt/>
|
||||
<label<#rt/>
|
||||
<#if parameters.id?has_content>
|
||||
for="${parameters.id?html}-${itemCount}"<#rt/>
|
||||
<#else>
|
||||
@@ -106,11 +107,10 @@
|
||||
class="checkboxLabel">${itemValue?html}</label>
|
||||
</@s.iterator>
|
||||
<#else>
|
||||
|
||||
</#if>
|
||||
<input type="hidden" id="__multiselect_${parameters.id?html}" name="__multiselect_${parameters.name?html}"
|
||||
value=""<#rt/>
|
||||
<#if parameters.disabled!false>
|
||||
disabled="disabled"<#rt/>
|
||||
</#if>
|
||||
/>
|
||||
/>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
* under the License.
|
||||
*/
|
||||
-->
|
||||
<#assign hasFieldErrors = parameters.name?? && fieldErrors?? && fieldErrors[parameters.name]??/>
|
||||
<#assign hasFieldErrors = parameters.name?? && fieldErrors?? && fieldErrors.get(parameters.name)??/>
|
||||
<#if parameters.cssClass?has_content && !(hasFieldErrors && parameters.cssErrorClass??)>
|
||||
class="${parameters.cssClass?html}"<#rt/>
|
||||
<#elseif parameters.cssClass?has_content && (hasFieldErrors && parameters.cssErrorClass??)>
|
||||
|
||||
@@ -23,10 +23,14 @@
|
||||
<#list aKeys as aKey><#rt/>
|
||||
<#assign keyValue = parameters.dynamicAttributes.get(aKey)/>
|
||||
<#if keyValue?is_string>
|
||||
<#assign value = struts.translateVariables(keyValue)!keyValue/>
|
||||
<#if evaluate_dynamic_attributes!false == true>
|
||||
<#assign value = struts.translateVariables(keyValue)!keyValue/><#rt/>
|
||||
<#else>
|
||||
<#assign value = keyValue/><#rt/>
|
||||
</#if>
|
||||
<#else>
|
||||
<#assign value = keyValue?string/>
|
||||
<#assign value = keyValue?string/><#rt/>
|
||||
</#if>
|
||||
${aKey}="${value?html}"<#rt/>
|
||||
</#list><#rt/>
|
||||
</#if><#rt/>
|
||||
</#if><#rt/>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<#list eKeys as eKey><#t/>
|
||||
<#if (eKey = fieldErrorFieldName)><#t/>
|
||||
<#assign haveMatchedErrorField=true><#t/>
|
||||
<#assign eValue = fieldErrors[fieldErrorFieldName]><#t/>
|
||||
<#assign eValue = fieldErrors.get(fieldErrorFieldName)><#t/>
|
||||
<#if (haveMatchedErrorField && (!doneStartUlTag))><#t/>
|
||||
<ul<#rt/>
|
||||
<#if parameters.id?has_content>
|
||||
@@ -69,7 +69,7 @@
|
||||
</#if>
|
||||
>
|
||||
<#list eKeys as eKey><#t/>
|
||||
<#assign eValue = fieldErrors[eKey]><#t/>
|
||||
<#assign eValue = fieldErrors.get(eKey)><#t/>
|
||||
<#list eValue as eEachValue><#t/>
|
||||
<li><span><#if parameters.escape>${eEachValue!?html}<#else>${eEachValue!}</#if></span></li>
|
||||
</#list><#t/>
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<#assign itemKeyStr = stack.findString('top')>
|
||||
</#if>
|
||||
<#if parameters.listValueKey??>
|
||||
<#-- checks the valueStack for the 'valueKey.' The valueKey is then looked-up in the locale
|
||||
<#-- 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 valueKey = stack.findString(parameters.listValueKey)!''/>
|
||||
<#if valueKey?has_content>
|
||||
@@ -94,9 +94,10 @@
|
||||
<#include "/${parameters.templateDir}/${parameters.expandTheme}/css.ftl" />
|
||||
<#include "/${parameters.templateDir}/${parameters.expandTheme}/scripting-events.ftl" />
|
||||
<#include "/${parameters.templateDir}/${parameters.expandTheme}/common-attributes.ftl" />
|
||||
<#global evaluate_dynamic_attributes = true/>
|
||||
<#include "/${parameters.templateDir}/${parameters.expandTheme}/dynamic-attributes.ftl" />
|
||||
/><#rt/>
|
||||
<label for="${parameters.id?html}${itemKeyStr?html}"<#include "/${parameters.templateDir}/${parameters.expandTheme}/css.ftl"/>><#rt/>
|
||||
${itemValue}<#t/>
|
||||
</label>
|
||||
</@s.iterator>
|
||||
</@s.iterator>
|
||||
|
||||
@@ -18,9 +18,9 @@
|
||||
* under the License.
|
||||
*/
|
||||
-->
|
||||
<#assign hasFieldErrors = fieldErrors?? && fieldErrors[parameters.name]??/>
|
||||
<#assign hasFieldErrors = fieldErrors?? && fieldErrors.get(parameters.name)??/>
|
||||
<#if hasFieldErrors>
|
||||
<#list fieldErrors[parameters.name] as error>
|
||||
<#list fieldErrors.get(parameters.name) as error>
|
||||
<tr<#rt/>
|
||||
<#if parameters.id??>
|
||||
errorFor="${parameters.id}"<#rt/>
|
||||
@@ -32,12 +32,12 @@
|
||||
</tr>
|
||||
</#list>
|
||||
</#if>
|
||||
<#if !parameters.labelposition?? && (parameters.form.labelposition)??>
|
||||
<#assign labelpos = parameters.form.labelposition/>
|
||||
<#elseif parameters.labelposition??>
|
||||
<#assign labelpos = parameters.labelposition/>
|
||||
<#if !parameters.labelPosition?? && (parameters.form.labelPosition)??>
|
||||
<#assign labelPos = parameters.form.labelPosition/>
|
||||
<#elseif parameters.labelPosition??>
|
||||
<#assign labelPos = parameters.labelPosition/>
|
||||
</#if>
|
||||
<#if (labelpos!"") == 'top'>
|
||||
<#if (labelPos!"") == 'top'>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<#if parameters.label??> <label<#t/>
|
||||
@@ -71,7 +71,7 @@ ${parameters.label?html}<#t/>
|
||||
<#else>
|
||||
<tr>
|
||||
<td class="tdCheckboxLabel">
|
||||
<#if (labelpos!"") == 'left'>
|
||||
<#if (labelPos!"") == 'left'>
|
||||
<#if parameters.label??> <label<#t/>
|
||||
<#if parameters.id??>
|
||||
for="${parameters.id?html}"<#rt/>
|
||||
@@ -96,7 +96,7 @@ ${parameters.label?html}<#t/>
|
||||
</label><#t/>
|
||||
</#if>
|
||||
</#if>
|
||||
<#if (labelpos!"") == 'right'>
|
||||
<#if (labelPos!"") == 'right'>
|
||||
<#if parameters.required!false>
|
||||
<span class="required">*</span><#t/>
|
||||
</#if>
|
||||
@@ -107,10 +107,10 @@ ${parameters.label?html}<#t/>
|
||||
</td>
|
||||
<td class="tdCheckboxInput">
|
||||
|
||||
<#if (labelpos!"") != 'top'>
|
||||
<#if (labelPos!"") != 'top'>
|
||||
<#include "/${parameters.templateDir}/simple/checkbox.ftl" />
|
||||
</#if>
|
||||
<#if (labelpos!"") != 'top' && (labelpos!"") != 'left'>
|
||||
</#if>
|
||||
<#if (labelPos!"") != 'top' && (labelPos!"") != 'left'>
|
||||
<#if parameters.label??> <label<#t/>
|
||||
<#if parameters.id??>
|
||||
for="${parameters.id?html}"<#rt/>
|
||||
|
||||
@@ -22,9 +22,9 @@ ${parameters.after!}<#t/>
|
||||
</td><#lt/>
|
||||
</tr>
|
||||
<#if (parameters.errorposition!"top") == 'bottom'>
|
||||
<#assign hasFieldErrors = parameters.name?? && fieldErrors?? && fieldErrors[parameters.name]??/>
|
||||
<#assign hasFieldErrors = parameters.name?? && fieldErrors?? && fieldErrors.get(parameters.name)??/>
|
||||
<#if hasFieldErrors>
|
||||
<#list fieldErrors[parameters.name] as error>
|
||||
<#list fieldErrors.get(parameters.name) as error>
|
||||
<tr errorFor="${parameters.id}">
|
||||
<td class="tdErrorMessage" colspan="2"><#rt/>
|
||||
<span class="errorMessage">${error?html}</span><#t/>
|
||||
|
||||
@@ -22,10 +22,10 @@
|
||||
Only show message if errors are available.
|
||||
This will be done if ActionSupport is used.
|
||||
-->
|
||||
<#assign hasFieldErrors = parameters.name?? && fieldErrors?? && fieldErrors[parameters.name]??/>
|
||||
<#assign hasFieldErrors = parameters.name?? && fieldErrors?? && fieldErrors.get(parameters.name)??/>
|
||||
<#if (parameters.errorposition!"top") == 'top'>
|
||||
<#if hasFieldErrors>
|
||||
<#list fieldErrors[parameters.name] as error>
|
||||
<#list fieldErrors.get(parameters.name) as error>
|
||||
<tr errorFor="${parameters.id}">
|
||||
<td class="tdErrorMessage" colspan="2"><#rt/>
|
||||
<span class="errorMessage">${error?html}</span><#t/>
|
||||
@@ -34,17 +34,17 @@
|
||||
</#list>
|
||||
</#if>
|
||||
</#if>
|
||||
<#if !parameters.labelposition?? && (parameters.form.labelposition)??>
|
||||
<#assign labelpos = parameters.form.labelposition/>
|
||||
<#elseif parameters.labelposition??>
|
||||
<#assign labelpos = parameters.labelposition/>
|
||||
<#if !parameters.labelPosition?? && (parameters.form.labelPosition)??>
|
||||
<#assign labelPos = parameters.form.labelPosition/>
|
||||
<#elseif parameters.labelPosition??>
|
||||
<#assign labelPos = parameters.labelPosition/>
|
||||
</#if>
|
||||
<#--
|
||||
if the label position is top,
|
||||
then give the label it's own row in the table
|
||||
-->
|
||||
<tr>
|
||||
<#if (labelpos!"") == 'top'>
|
||||
<#if (labelPos!"") == 'top'>
|
||||
<td class="tdLabelTop" colspan="2"><#rt/>
|
||||
<#else>
|
||||
<td class="tdLabel"><#rt/>
|
||||
@@ -73,7 +73,7 @@ ${parameters.labelseparator!":"?html}<#t/>
|
||||
</#if>
|
||||
</td><#lt/>
|
||||
<#-- add the extra row -->
|
||||
<#if (labelpos!"") == 'top'>
|
||||
<#if (labelPos!"") == 'top'>
|
||||
</tr>
|
||||
<tr>
|
||||
</#if>
|
||||
|
||||
@@ -63,7 +63,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) The css class to use for element - it's an alias of cssClass attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssClass</td>
|
||||
@@ -193,6 +193,14 @@ Please do not edit it directly.
|
||||
<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">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">labelSeparator</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
@@ -207,7 +215,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) Define label position of form element (top/left)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">method</td>
|
||||
|
||||
@@ -47,7 +47,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) The css class to use for element - it's an alias of cssClass attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssClass</td>
|
||||
@@ -137,6 +137,14 @@ Please do not edit it directly.
|
||||
<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">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">labelSeparator</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
@@ -151,7 +159,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) Define label position of form element (top/left)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">name</td>
|
||||
|
||||
@@ -47,7 +47,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) The css class to use for element - it's an alias of cssClass attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssClass</td>
|
||||
@@ -137,6 +137,14 @@ Please do not edit it directly.
|
||||
<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">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">labelSeparator</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
@@ -151,7 +159,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) Define label position of form element (top/left)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">name</td>
|
||||
|
||||
@@ -47,7 +47,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) The css class to use for element - it's an alias of cssClass attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssClass</td>
|
||||
@@ -137,6 +137,14 @@ Please do not edit it directly.
|
||||
<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">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), also 'right' is supported when using 'xhtml' theme</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">labelSeparator</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
@@ -151,7 +159,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) Define label position of form element (top/left), also 'right' is supported when using 'xhtml' theme</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">name</td>
|
||||
|
||||
@@ -47,7 +47,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) The css class to use for element - it's an alias of cssClass attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssClass</td>
|
||||
@@ -129,6 +129,14 @@ Please do not edit it directly.
|
||||
<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">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">labelSeparator</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
@@ -143,7 +151,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) Define label position of form element (top/left)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">list</td>
|
||||
|
||||
@@ -47,7 +47,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) The css class to use for element - it's an alias of cssClass attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssClass</td>
|
||||
@@ -153,6 +153,14 @@ Please do not edit it directly.
|
||||
<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">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">labelSeparator</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
@@ -167,7 +175,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) Define label position of form element (top/left)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">list</td>
|
||||
|
||||
@@ -47,7 +47,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) The css class to use for element - it's an alias of cssClass attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssClass</td>
|
||||
@@ -129,6 +129,14 @@ Please do not edit it directly.
|
||||
<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">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">labelSeparator</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
@@ -143,7 +151,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) Define label position of form element (top/left)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">name</td>
|
||||
|
||||
@@ -47,7 +47,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) The css class to use for element - it's an alias of cssClass attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssClass</td>
|
||||
@@ -137,6 +137,14 @@ Please do not edit it directly.
|
||||
<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">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">labelSeparator</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
@@ -151,7 +159,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) Define label position of form element (top/left)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">name</td>
|
||||
|
||||
@@ -47,7 +47,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) The css class to use for element - it's an alias of cssClass attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssClass</td>
|
||||
@@ -129,6 +129,14 @@ Please do not edit it directly.
|
||||
<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">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">labelSeparator</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
@@ -143,7 +151,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) Define label position of form element (top/left)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">name</td>
|
||||
|
||||
@@ -47,7 +47,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) The css class to use for element - it's an alias of cssClass attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssClass</td>
|
||||
@@ -417,6 +417,14 @@ Please do not edit it directly.
|
||||
<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">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">labelSeparator</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
@@ -431,7 +439,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) Define label position of form element (top/left)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">list</td>
|
||||
|
||||
@@ -47,7 +47,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) The css class to use for element - it's an alias of cssClass attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssClass</td>
|
||||
@@ -145,6 +145,14 @@ Please do not edit it directly.
|
||||
<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">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">labelSeparator</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
@@ -159,7 +167,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) Define label position of form element (top/left)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">name</td>
|
||||
|
||||
@@ -55,7 +55,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) The css class to use for element - it's an alias of cssClass attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssClass</td>
|
||||
@@ -137,6 +137,14 @@ Please do not edit it directly.
|
||||
<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">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">labelSeparator</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
@@ -151,7 +159,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) Define label position of form element (top/left)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">name</td>
|
||||
|
||||
@@ -63,7 +63,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) The css class to use for element - it's an alias of cssClass attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssClass</td>
|
||||
@@ -169,6 +169,14 @@ Please do not edit it directly.
|
||||
<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">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">labelSeparator</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
@@ -183,7 +191,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) Define label position of form element (top/left)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">method</td>
|
||||
|
||||
@@ -47,7 +47,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) The css class to use for element - it's an alias of cssClass attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssClass</td>
|
||||
@@ -129,6 +129,14 @@ Please do not edit it directly.
|
||||
<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">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">labelSeparator</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
@@ -143,7 +151,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) Define label position of form element (top/left)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">name</td>
|
||||
|
||||
@@ -47,7 +47,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) The css class to use for element - it's an alias of cssClass attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssClass</td>
|
||||
@@ -129,6 +129,14 @@ Please do not edit it directly.
|
||||
<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">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">labelSeparator</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
@@ -143,7 +151,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) Define label position of form element (top/left)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">name</td>
|
||||
|
||||
@@ -87,7 +87,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) The css class to use for element - it's an alias of cssClass attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssClass</td>
|
||||
@@ -193,6 +193,14 @@ Please do not edit it directly.
|
||||
<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">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">labelSeparator</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
@@ -207,7 +215,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) Define label position of form element (top/left)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">leftTitle</td>
|
||||
|
||||
@@ -47,7 +47,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) The css class to use for element - it's an alias of cssClass attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssClass</td>
|
||||
@@ -137,6 +137,14 @@ Please do not edit it directly.
|
||||
<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">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">labelSeparator</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
@@ -151,7 +159,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) Define label position of form element (top/left)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">name</td>
|
||||
|
||||
@@ -183,7 +183,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) The css class to use for element - it's an alias of cssClass attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssClass</td>
|
||||
@@ -553,6 +553,14 @@ Please do not edit it directly.
|
||||
<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">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">labelSeparator</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
@@ -567,7 +575,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) Define label position of form element (top/left)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">leftDownLabel</td>
|
||||
|
||||
@@ -47,7 +47,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) The css class to use for element - it's an alias of cssClass attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssClass</td>
|
||||
@@ -129,6 +129,14 @@ Please do not edit it directly.
|
||||
<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">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">labelSeparator</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
@@ -143,7 +151,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) Define label position of form element (top/left)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">maxLength</td>
|
||||
|
||||
@@ -47,7 +47,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) The css class to use for element - it's an alias of cssClass attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssClass</td>
|
||||
@@ -129,6 +129,14 @@ Please do not edit it directly.
|
||||
<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">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">labelSeparator</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
@@ -143,7 +151,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) Define label position of form element (top/left)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">list</td>
|
||||
|
||||
@@ -55,7 +55,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) The css class to use for element - it's an alias of cssClass attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssClass</td>
|
||||
@@ -137,6 +137,14 @@ Please do not edit it directly.
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Supply a reset button text apart from reset value. Will have no effect for <i>input</i> type reset, since button text will always be the value parameter.</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">labelSeparator</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
@@ -151,7 +159,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) Define label position of form element (top/left)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">method</td>
|
||||
|
||||
@@ -47,7 +47,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) The css class to use for element - it's an alias of cssClass attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssClass</td>
|
||||
@@ -153,6 +153,14 @@ Please do not edit it directly.
|
||||
<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">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">labelSeparator</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
@@ -167,7 +175,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) Define label position of form element (top/left)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">list</td>
|
||||
|
||||
@@ -55,7 +55,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) The css class to use for element - it's an alias of cssClass attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssClass</td>
|
||||
@@ -137,6 +137,14 @@ Please do not edit it directly.
|
||||
<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">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">labelSeparator</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
@@ -151,7 +159,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) Define label position of form element (top/left)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">method</td>
|
||||
|
||||
@@ -47,7 +47,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) The css class to use for element - it's an alias of cssClass attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cols</td>
|
||||
@@ -137,6 +137,14 @@ Please do not edit it directly.
|
||||
<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">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">labelSeparator</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
@@ -151,7 +159,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) Define label position of form element (top/left)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">name</td>
|
||||
|
||||
@@ -47,7 +47,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) The css class to use for element - it's an alias of cssClass attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssClass</td>
|
||||
@@ -129,6 +129,14 @@ Please do not edit it directly.
|
||||
<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">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">labelSeparator</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
@@ -143,7 +151,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) Define label position of form element (top/left)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">maxLength</td>
|
||||
|
||||
@@ -47,7 +47,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) The css class to use for element - it's an alias of cssClass attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssClass</td>
|
||||
@@ -129,6 +129,14 @@ Please do not edit it directly.
|
||||
<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">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">labelSeparator</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
@@ -143,7 +151,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) Define label position of form element (top/left)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">name</td>
|
||||
|
||||
@@ -71,7 +71,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) The css class to use for element - it's an alias of cssClass attribute.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssClass</td>
|
||||
@@ -177,6 +177,14 @@ Please do not edit it directly.
|
||||
<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">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">labelSeparator</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
@@ -191,7 +199,7 @@ Please do not edit it directly.
|
||||
<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>
|
||||
<td align="left" valign="top">(Deprecated) Define label position of form element (top/left)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">list</td>
|
||||
|
||||
+46
@@ -28,6 +28,7 @@ import com.opensymphony.xwork2.mock.MockActionInvocation;
|
||||
import com.opensymphony.xwork2.mock.MockActionProxy;
|
||||
import org.apache.struts2.dispatcher.HttpParameters;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
@@ -139,6 +140,51 @@ public class StaticParametersInterceptorTest extends XWorkTestCase {
|
||||
assertEquals(0, ActionContext.getContext().getParameters().keySet().size());
|
||||
}
|
||||
|
||||
public void testOverwrite() throws Exception {
|
||||
MockActionInvocation mai = new MockActionInvocation();
|
||||
MockActionProxy map = new MockActionProxy();
|
||||
ActionConfig ac = new ActionConfig.Builder("", "", "")
|
||||
.addParam("name", "${hero}")
|
||||
.build();
|
||||
map.setConfig(ac);
|
||||
mai.setProxy(map);
|
||||
mai.setAction(new SimpleFooAction());
|
||||
|
||||
Map<String, String> existingParams = new HashMap<>();
|
||||
existingParams.put("name", "Akash");
|
||||
ActionContext.getContext().setParameters(HttpParameters.create(existingParams).build());
|
||||
int before = ActionContext.getContext().getValueStack().size();
|
||||
|
||||
interceptor.setOverwrite("true");
|
||||
interceptor.intercept(mai);
|
||||
|
||||
assertEquals(before, ActionContext.getContext().getValueStack().size());
|
||||
assertEquals("${hero}", ActionContext.getContext().getParameters().get("name").toString());
|
||||
}
|
||||
|
||||
public void testNoOverwrite() throws Exception {
|
||||
MockActionInvocation mai = new MockActionInvocation();
|
||||
MockActionProxy map = new MockActionProxy();
|
||||
ActionConfig ac = new ActionConfig.Builder("", "", "")
|
||||
.addParam("name", "${hero}")
|
||||
.build();
|
||||
map.setConfig(ac);
|
||||
mai.setProxy(map);
|
||||
mai.setAction(new SimpleFooAction());
|
||||
mai.setInvocationContext(ActionContext.getContext());
|
||||
|
||||
Map<String, String> existingParams = new HashMap<>();
|
||||
existingParams.put("name", "Akash");
|
||||
ActionContext.getContext().setParameters(HttpParameters.create(existingParams).build());
|
||||
int before = ActionContext.getContext().getValueStack().size();
|
||||
|
||||
interceptor.setOverwrite("false");
|
||||
interceptor.intercept(mai);
|
||||
|
||||
assertEquals(before, ActionContext.getContext().getValueStack().size());
|
||||
assertEquals("Akash", ActionContext.getContext().getParameters().get("name").toString());
|
||||
}
|
||||
|
||||
public void testFewParametersParse() throws Exception {
|
||||
MockActionInvocation mai = new MockActionInvocation();
|
||||
MockActionProxy map = new MockActionProxy();
|
||||
|
||||
@@ -49,6 +49,7 @@ public class TestAction extends ActionSupport {
|
||||
private List list3;
|
||||
private SomeEnum status = SomeEnum.COMPLETED;
|
||||
private Float floatNumber;
|
||||
private Long id;
|
||||
|
||||
private final Map<String, String> texts = new HashMap<String, String>();
|
||||
|
||||
@@ -213,7 +214,7 @@ public class TestAction extends ActionSupport {
|
||||
public void setStatus(SomeEnum status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
|
||||
public List<SomeEnum> getStatusList() {
|
||||
return Arrays.asList(SomeEnum.values());
|
||||
}
|
||||
@@ -225,4 +226,13 @@ public class TestAction extends ActionSupport {
|
||||
public void setFloatNumber(Float floatNumber) {
|
||||
this.floatNumber = floatNumber;
|
||||
}
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -280,6 +280,27 @@ public class UIBeanTest extends StrutsInternalTestCase {
|
||||
assertEquals(value, txtFld.getParameters().get("nameValue"));
|
||||
}
|
||||
|
||||
public void testValueParameterRecursion() {
|
||||
ValueStack stack = ActionContext.getContext().getValueStack();
|
||||
MockHttpServletRequest req = new MockHttpServletRequest();
|
||||
MockHttpServletResponse res = new MockHttpServletResponse();
|
||||
|
||||
stack.push(new Object() {
|
||||
public String getMyValue() {
|
||||
return "%{myBad}";
|
||||
}
|
||||
public String getMyBad() {
|
||||
throw new IllegalStateException("Recursion detected!");
|
||||
}
|
||||
});
|
||||
|
||||
TextField txtFld = new TextField(stack, req, res);
|
||||
txtFld.setName("%{myValue}");
|
||||
txtFld.evaluateParams();
|
||||
|
||||
assertEquals("%{myBad}", txtFld.getParameters().get("nameValue"));
|
||||
}
|
||||
|
||||
public void testSetClass() {
|
||||
String cssClass = "insertCssClassHere";
|
||||
ValueStack stack = ActionContext.getContext().getValueStack();
|
||||
|
||||
@@ -189,6 +189,21 @@ public class StrutsUtilTest extends StrutsInternalTestCase {
|
||||
assertEquals(obj1, "try: bar");
|
||||
}
|
||||
|
||||
public void testTranslateVariablesRecursion() throws Exception {
|
||||
stack.push(new Object() {
|
||||
public String getFoo() {
|
||||
return "%{bar}";
|
||||
}
|
||||
public String getBar() {
|
||||
return "bar";
|
||||
}
|
||||
});
|
||||
String obj1 = strutsUtil.translateVariables("try: %{foo}");
|
||||
|
||||
assertNotNull(obj1);
|
||||
assertEquals("try: %{bar}", obj1);
|
||||
}
|
||||
|
||||
// === Junit Hook
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
|
||||
@@ -186,6 +186,25 @@ public class FormTagTest extends AbstractUITagTest {
|
||||
verify(FormTag.class.getResource("Formtag-1.txt"));
|
||||
}
|
||||
|
||||
public void testFormId() throws Exception {
|
||||
|
||||
request.setupGetServletPath("/testAction");
|
||||
|
||||
TestAction testAction = (TestAction) action;
|
||||
testAction.setFoo("bar");
|
||||
|
||||
FormTag tag = new FormTag();
|
||||
tag.setPageContext(pageContext);
|
||||
tag.setMethod("post");
|
||||
tag.setAction("myAction");
|
||||
tag.setId("myid-%{foo}");
|
||||
|
||||
tag.doStartTag();
|
||||
tag.doEndTag();
|
||||
|
||||
verify(FormTag.class.getResource("Formtag-29.txt"));
|
||||
}
|
||||
|
||||
public void testFormNoNameOrId() throws Exception {
|
||||
|
||||
request.setupGetServletPath("/testAction");
|
||||
|
||||
@@ -18,15 +18,14 @@
|
||||
*/
|
||||
package org.apache.struts2.views.jsp.ui;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import com.opensymphony.xwork2.ActionContext;
|
||||
import com.opensymphony.xwork2.mock.MockActionInvocation;
|
||||
import org.apache.struts2.TestAction;
|
||||
import org.apache.struts2.views.jsp.AbstractUITagTest;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
*/
|
||||
public class HiddenTest extends AbstractUITagTest {
|
||||
|
||||
public void testSimple() throws Exception {
|
||||
@@ -62,13 +61,57 @@ public class HiddenTest extends AbstractUITagTest {
|
||||
verify(TextFieldTag.class.getResource("Hidden-2.txt"));
|
||||
}
|
||||
|
||||
public void testDynamicAttributesWithActionInvocation() throws Exception {
|
||||
TestAction testAction = (TestAction) action;
|
||||
testAction.setId(27357L);
|
||||
|
||||
MockActionInvocation ai = new MockActionInvocation();
|
||||
ai.setAction(action);
|
||||
ActionContext.getContext().setActionInvocation(ai);
|
||||
|
||||
HiddenTag tag = new HiddenTag();
|
||||
tag.setPageContext(pageContext);
|
||||
tag.setId("einszwei");
|
||||
tag.setName("first");
|
||||
tag.setValue("%{id}");
|
||||
tag.setDynamicAttribute("", "data-wuffmiauww", "%{id}");
|
||||
|
||||
tag.doStartTag();
|
||||
tag.doEndTag();
|
||||
|
||||
assertSame(stack.pop(), testAction);
|
||||
assertNotSame(stack.pop(), tag);
|
||||
|
||||
verify(TextFieldTag.class.getResource("Hidden-3.txt"));
|
||||
}
|
||||
|
||||
public void testDynamicAttributesWithStack() throws Exception {
|
||||
TestAction testAction = (TestAction) action;
|
||||
testAction.setId(27357L);
|
||||
|
||||
HiddenTag tag = new HiddenTag();
|
||||
tag.setPageContext(pageContext);
|
||||
tag.setId("einszwei");
|
||||
tag.setName("first");
|
||||
tag.setValue("%{id}");
|
||||
tag.setDynamicAttribute("", "data-wuffmiauww", "%{id}");
|
||||
|
||||
tag.doStartTag();
|
||||
tag.doEndTag();
|
||||
|
||||
assertSame(stack.pop(), testAction);
|
||||
assertNotSame(stack.pop(), tag);
|
||||
|
||||
verify(TextFieldTag.class.getResource("Hidden-3.txt"));
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize a map of {@link org.apache.struts2.views.jsp.AbstractUITagTest.PropertyHolder} for generic tag
|
||||
* property testing. Will be used when calling {@link #verifyGenericProperties(org.apache.struts2.views.jsp.ui.AbstractUITag,
|
||||
* String, String[])} as properties to verify.<br> This implementation extends testdata from AbstractUITag.
|
||||
*
|
||||
* @return A Map of PropertyHolders values bound to {@link org.apache.struts2.views.jsp.AbstractUITagTest.PropertyHolder#getName()}
|
||||
* as key.
|
||||
* as key.
|
||||
*/
|
||||
protected Map initializedGenericTagTestProperties() {
|
||||
Map result = new HashMap();
|
||||
|
||||
@@ -92,7 +92,7 @@ public class TextfieldTest extends AbstractUITagTest {
|
||||
|
||||
verify(TextFieldTag.class.getResource("Textfield-3.txt"));
|
||||
}
|
||||
|
||||
|
||||
public void testLabelSeparatorJsp() throws Exception {
|
||||
TestAction testAction = (TestAction) action;
|
||||
testAction.setFoo("bar");
|
||||
@@ -145,7 +145,23 @@ public class TextfieldTest extends AbstractUITagTest {
|
||||
|
||||
verify(TextFieldTag.class.getResource("Textfield-1.txt"));
|
||||
}
|
||||
|
||||
|
||||
public void testWW5125() throws Exception {
|
||||
TestAction testAction = (TestAction) action;
|
||||
|
||||
for(String fieldName : new String[] {"clone", "size", "clear", "values", "hashCode", "isEmpty", "keySet", "entrySet"}) {
|
||||
testAction.addFieldError(fieldName, fieldName + " error");
|
||||
|
||||
TextFieldTag tag = new TextFieldTag();
|
||||
tag.setPageContext(pageContext);
|
||||
tag.setName(fieldName);
|
||||
tag.doStartTag();
|
||||
tag.doEndTag();
|
||||
}
|
||||
|
||||
verify(TextFieldTag.class.getResource("Textfield-WW-5125.txt"));
|
||||
}
|
||||
|
||||
public void testSimple_recursionTest() throws Exception {
|
||||
TestAction testAction = (TestAction) action;
|
||||
testAction.setFoo("%{1+1}");
|
||||
@@ -156,13 +172,14 @@ public class TextfieldTest extends AbstractUITagTest {
|
||||
tag.setName("myname");
|
||||
tag.setValue("%{foo}");
|
||||
tag.setSize("10");
|
||||
tag.setDynamicAttribute(null, "anotherAttr", "another_%{foo}");
|
||||
|
||||
tag.doStartTag();
|
||||
tag.doEndTag();
|
||||
|
||||
verify(TextFieldTag.class.getResource("Textfield-5.txt"));
|
||||
}
|
||||
|
||||
|
||||
public void testSimple_recursionTestNoValue() throws Exception {
|
||||
TestAction testAction = (TestAction) action;
|
||||
testAction.setFoo("%{1+1}");
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
<form id="myid-bar" name="myid-bar" action="myAction" method="post">
|
||||
<table class="wwFormTable"></table>
|
||||
</form>
|
||||
@@ -0,0 +1,5 @@
|
||||
<tr style="display:none;">
|
||||
<td colspan="2">
|
||||
<input type="hidden" name="first" value="27357" id="einszwei" data-wuffmiauww="27357"/>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -1,4 +1,4 @@
|
||||
<tr>
|
||||
<td class="tdLabel"><label for="myname" class="label">mylabel:</label></td>
|
||||
<td class="tdInput"><input type="text" name="myname" size="10" value="%{1+1}" id="myname"/></td>
|
||||
<td class="tdInput"><input type="text" name="myname" size="10" value="%{1+1}" id="myname" anotherAttr="another_%{1+1}"/></td>
|
||||
</tr>
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
<tr errorFor="clone">
|
||||
<td class="tdErrorMessage" colspan="2"><span class="errorMessage">clone error</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tdLabel"></td>
|
||||
<td
|
||||
class="tdInput"
|
||||
><input type="text" name="clone" value="" id="clone"/></td>
|
||||
</tr>
|
||||
|
||||
<tr errorFor="size">
|
||||
<td class="tdErrorMessage" colspan="2"><span class="errorMessage">size error</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tdLabel"></td>
|
||||
<td
|
||||
class="tdInput"
|
||||
><input type="text" name="size" value="" id="size"/></td>
|
||||
</tr>
|
||||
|
||||
<tr errorFor="clear">
|
||||
<td class="tdErrorMessage" colspan="2"><span class="errorMessage">clear error</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tdLabel"></td>
|
||||
<td
|
||||
class="tdInput"
|
||||
><input type="text" name="clear" value="" id="clear"/></td>
|
||||
</tr>
|
||||
|
||||
<tr errorFor="values">
|
||||
<td class="tdErrorMessage" colspan="2"><span class="errorMessage">values error</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tdLabel"></td>
|
||||
<td
|
||||
class="tdInput"
|
||||
><input type="text" name="values" value="" id="values"/></td>
|
||||
</tr>
|
||||
|
||||
<tr errorFor="hashCode">
|
||||
<td class="tdErrorMessage" colspan="2"><span class="errorMessage">hashCode error</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tdLabel"></td>
|
||||
<td
|
||||
class="tdInput"
|
||||
><input type="text" name="hashCode" value="" id="hashCode"/></td>
|
||||
</tr>
|
||||
|
||||
<tr errorFor="isEmpty">
|
||||
<td class="tdErrorMessage" colspan="2"><span class="errorMessage">isEmpty error</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tdLabel"></td>
|
||||
<td
|
||||
class="tdInput"
|
||||
><input type="text" name="isEmpty" value="" id="isEmpty"/></td>
|
||||
</tr>
|
||||
|
||||
<tr errorFor="keySet">
|
||||
<td class="tdErrorMessage" colspan="2"><span class="errorMessage">keySet error</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tdLabel"></td>
|
||||
<td
|
||||
class="tdInput"
|
||||
><input type="text" name="keySet" value="" id="keySet"/></td>
|
||||
</tr>
|
||||
|
||||
<tr errorFor="entrySet">
|
||||
<td class="tdErrorMessage" colspan="2"><span class="errorMessage">entrySet error</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tdLabel"></td>
|
||||
<td
|
||||
class="tdInput"
|
||||
><input type="text" name="entrySet" value="" id="entrySet"/></td>
|
||||
</tr>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.5.25</version>
|
||||
<version>2.5.29</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
|
||||
+1
-1
@@ -25,7 +25,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.5.25</version>
|
||||
<version>2.5.29</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>struts2-cdi-plugin</artifactId>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.5.25</version>
|
||||
<version>2.5.29</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>struts2-config-browser-plugin</artifactId>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.5.25</version>
|
||||
<version>2.5.29</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>struts2-convention-plugin</artifactId>
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.5.25</version>
|
||||
<version>2.5.29</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>struts2-dwr-plugin</artifactId>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.5.25</version>
|
||||
<version>2.5.29</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>struts2-embeddedjsp-plugin</artifactId>
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.5.25</version>
|
||||
<version>2.5.29</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>struts2-gxp-plugin</artifactId>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.5.25</version>
|
||||
<version>2.5.29</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>struts2-jasperreports-plugin</artifactId>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.5.25</version>
|
||||
<version>2.5.29</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>struts2-javatemplates-plugin</artifactId>
|
||||
|
||||
+2
-2
@@ -46,7 +46,7 @@ import java.util.Stack;
|
||||
public abstract class AbstractTest extends TestCase {
|
||||
private Map<String, String> scriptingAttrs = new HashMap<String, String>();
|
||||
private Map<String, String> commonAttrs = new HashMap<String, String>();
|
||||
private Map<String, Object> dynamicAttrs = new HashMap<String, Object>();
|
||||
private Map<String, String> dynamicAttrs = new HashMap<String, String>();
|
||||
|
||||
protected SimpleTheme theme;
|
||||
|
||||
@@ -180,7 +180,7 @@ public abstract class AbstractTest extends TestCase {
|
||||
}
|
||||
|
||||
protected void assertDynamicAttrs(String str) {
|
||||
for (Map.Entry<String, Object> entry : dynamicAttrs.entrySet()) {
|
||||
for (Map.Entry<String, String> entry : dynamicAttrs.entrySet()) {
|
||||
String substr = entry.getKey() + "=\"" + entry.getValue() + "\"";
|
||||
assertTrue("String [" + substr + "] was not found in [" + str + "]", str.indexOf(substr) >= 0);
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.5.25</version>
|
||||
<version>2.5.29</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>struts2-jfreechart-plugin</artifactId>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.5.25</version>
|
||||
<version>2.5.29</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>struts2-json-plugin</artifactId>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.5.25</version>
|
||||
<version>2.5.29</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>struts2-junit-plugin</artifactId>
|
||||
|
||||
@@ -165,6 +165,8 @@ public abstract class StrutsJUnit4TestCase<T> extends XWorkJUnit4TestCase {
|
||||
ServletActionContext.setRequest(request);
|
||||
ServletActionContext.setResponse(response);
|
||||
|
||||
ServletActionContext.getContext().put(ServletActionContext.ACTION_MAPPING, mapping);
|
||||
|
||||
return proxy;
|
||||
}
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.5.25</version>
|
||||
<version>2.5.29</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>struts2-osgi-plugin</artifactId>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.5.25</version>
|
||||
<version>2.5.29</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>struts2-oval-plugin</artifactId>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.5.25</version>
|
||||
<version>2.5.29</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>struts2-pell-multipart-plugin</artifactId>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<parent>
|
||||
<groupId>org.apache.struts</groupId>
|
||||
<artifactId>struts2-plugins</artifactId>
|
||||
<version>2.5.25</version>
|
||||
<version>2.5.29</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>struts2-plexus-plugin</artifactId>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user