[ 
https://issues.apache.org/jira/browse/WW-4166?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14084328#comment-14084328
 ] 

Lukasz Lenart commented on WW-4166:
-----------------------------------

Thanks [~quaff]!

What do you think about adding cache to {{isValidTagAttribute}}
{code:java}
    /**
     * Checks if provided name is a valid tag's attribute
     *
     * @param attrName String name of attribute
     * @return true if attribute with the same name was already defined
     */
    public boolean isValidTagAttribute(String attrName) {
        Collection<Method> annotatedMethods = 
getAnnotatedMethodsBy(StrutsTagAttribute.class);
        for (Method annotatedMethod : annotatedMethods) {
            if 
(annotatedMethod.getName().contains(StringUtils.capitalize(attrName))) {
                return true;
            }
        }
        return false;
    }

    /**
     * If needed caches all methods annotated by given annotation to avoid 
further scans
     */
    protected Collection<Method> getAnnotatedMethodsBy(Class<? extends 
Annotation> annotationClass) {
        Class clz = getClass();
        Collection<Method> standardAttributes = standardAttributesMap.get(clz);
        if (standardAttributes == null) {
            standardAttributes = 
AnnotationUtils.getAnnotatedMethods(getClass(), annotationClass);
            standardAttributesMap.putIfAbsent(clz, standardAttributes);
        }
        return standardAttributes;
    }

{code}

> Allow "class" attribute on Struts tags
> --------------------------------------
>
>                 Key: WW-4166
>                 URL: https://issues.apache.org/jira/browse/WW-4166
>             Project: Struts 2
>          Issue Type: Improvement
>          Components: Other
>            Reporter: Eric Lentz
>            Assignee: Lukasz Lenart
>            Priority: Trivial
>             Fix For: 2.3.18
>
>
> In building a JSP, and working on web related things outside of the Java 
> environment, there are lots of tags which all receive the "class" attribute. 
> The Struts developer must _remember_ to call the attribute cssClass instead. 
> Typing muscle memory drives me to half of the time typing "class" instead, 
> which leads to HTML which reads, 'class="class java.util.HashMap"'
> Why not just allow "class" like the rest of the HTML world? Why do we need to 
> be different? I have a billion things to remember when web developing, this 
> shouldn't be one of them.
> We don't even have to to deprecate or obsolete cssClass, just also allow 
> "class"... please!



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to