keep dynamic attributes order

This commit is contained in:
Yasser Zamani
2022-01-19 23:10:46 +03:30
parent 4e05233cc2
commit 8a46e9313f
3 changed files with 4 additions and 5 deletions
@@ -40,7 +40,6 @@ import org.apache.struts2.views.util.ContextUtil;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.Writer; import java.io.Writer;
import java.util.HashMap;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -504,7 +503,7 @@ public abstract class UIBean extends Component {
protected String tooltipIconPath; protected String tooltipIconPath;
// dynamic attributes // dynamic attributes
protected Map<String, Object> dynamicAttributes = new HashMap<>(); protected Map<String, Object> dynamicAttributes = new LinkedHashMap<>();
protected String defaultTemplateDir; protected String defaultTemplateDir;
protected String defaultUITheme; protected String defaultUITheme;
@@ -23,7 +23,7 @@ import org.apache.struts2.views.jsp.ComponentTagSupport;
import javax.servlet.jsp.JspException; import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.DynamicAttributes; import javax.servlet.jsp.tagext.DynamicAttributes;
import java.util.HashMap; import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
/** /**
@@ -79,7 +79,7 @@ public abstract class AbstractUITag extends ComponentTagSupport implements Dynam
protected String tooltipIconPath; protected String tooltipIconPath;
// dynamic attributes. // dynamic attributes.
protected Map<String, String> dynamicAttributes = new HashMap<>(); protected Map<String, String> dynamicAttributes = new LinkedHashMap<>();
protected void populateParams() { protected void populateParams() {
super.populateParams(); super.populateParams();
@@ -1,4 +1,4 @@
<tr> <tr>
<td class="tdLabel"><label for="myname" class="label">mylabel:</label></td> <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" secondAttr="second_%{1+1}" anotherAttr="%{1+1}"/></td> <td class="tdInput"><input type="text" name="myname" size="10" value="%{1+1}" id="myname" anotherAttr="%{1+1}" secondAttr="second_%{1+1}"/></td>
</tr> </tr>