First off, I would maybe try a private browser window and make sure it's not a javascript caching issue.Secondly, I would take a look at your node structure and make sure that the page has a valid cq:template and sling:resourceType.
Easiest way to handle it is as follows:String[] value = properties.get("propertyName", new String[] {});This will create a string array regardless of 1 or multiple string values, regardless of String or String[] type.
I don't believe Adobe is putting any attention on improving support for JSP beyond what's already in place. Sightly is the new standard so it may be worth implementing the component you need this functionality in with Sightly rather than JSP.
Try adding this to the dialog as a new field:<keywordsString jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/foundation/form/hidden" name="./jcr:content/metadata/dc:subject@TypeHint" value="String"/>
Delete the property that is currently just a "String" and then try again (this my answer was for classic UI). For Touch UI, use this:<myFieldString jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/foundation/form/hidden" name="./myField@TypeHint" value="String"/>
The only other thing I would change is that you're using the resource resolver factory to create another resource resolver. You already have a resource resolver on the SlingHttpServletRequest (request.getResourceResolver()) - if you use this resource resolver, it will ensure that only people with t...