20.05.2025 17:21:58.487 *ERROR* [[0:0:0:0:0:0:0:1] [1747741918452] GET /mnt/override/apps/mysite/components/content/dynamicdropdown/_cq_dialog.html/content/mysite/us/en/demo-page/jcr:content/root/container/container/dynamicdropdown HTTP/1.1] org.apache.sling.servlets.get.impl.DefaultGetServlet No renderer for extension html, cannot render resource TypeOverwritingResourceWrapper, type=/bin/mysite/datasource, path=/mnt/override/apps/mysite/components/content/dynamicdropdown/cq:dialog/content/items/column/items/dropdown, resource=[FilteringResourceWrapper, type=granite/ui/components/coral/foundation/form/select, path=/mnt/override/apps/mysite/components/content/dynamicdropdown/cq:dialog/content/items/column/items/dropdown, resource=[FilteringResourceWrapper, type=granite/ui/components/coral/foundation/form/select, path=/mnt/override/apps/mysite/components/content/dynamicdropdown/cq:dialog/content/items/column/items/dropdown, resource=[MergedResource [path=/mnt/override/apps/mysite/components/content/dynamicdropdown/cq:dialog/content/items/column/items/dropdown, resources=[/apps/mysite/components/content/dynamicdropdown/cq:dialog/content/items/column/items/dropdown]]]]]
Solved! Go to Solution.
Views
Replies
Total Likes
Hi @Jitesh07
Seems you added resourcetype
type=/bin/mysite/datasource
and servlet is registered with another path .
Could you please use same resourcetype which mentioned in the blog and once works then you can adjust accordingly.
hi @Jitesh07, what guide did you followed?
I can see from the error this:
type=/bin/mysite/datasource
Try to update the servlet with the following:
@Component(service=Servlet.class,
property={
Constants.SERVICE_DESCRIPTION + "=Simple Demo Servlet",
"sling.servlet.methods=" + HttpConstants.METHOD_GET,
"sling.servlet.paths="+ "/bin/mysite/datasource"
})
Hi @giuseppebag ,
I followed this guide:
https://medium.com/@arunpatidar26/dynamic-touch-ui-dropdown-using-json-data-0a450abad03e
I tried above code but the error is still the same.
20.05.2025 18:24:03.544 *ERROR* [[0:0:0:0:0:0:0:1] [1747745643522] GET /mnt/override/apps/mysite/components/content/dynamicdropdown/_cq_dialog.html/content/mysite/us/en/demo-page/jcr:content/root/container/container/dynamicdropdown HTTP/1.1] org.apache.sling.servlets.get.impl.DefaultGetServlet No renderer for extension html, cannot render resource TypeOverwritingResourceWrapper, type=/bin/mysite/datasource, path=/mnt/override/apps/mysite/components/content/dynamicdropdown/cq:dialog/content/items/column/items/dropdown, resource=[FilteringResourceWrapper, type=granite/ui/components/coral/foundation/form/select, path=/mnt/override/apps/mysite/components/content/dynamicdropdown/cq:dialog/content/items/column/items/dropdown, resource=[FilteringResourceWrapper, type=granite/ui/components/coral/foundation/form/select, path=/mnt/override/apps/mysite/components/content/dynamicdropdown/cq:dialog/content/items/column/items/dropdown, resource=[MergedResource [path=/mnt/override/apps/mysite/components/content/dynamicdropdown/cq:dialog/content/items/column/items/dropdown, resources=[/apps/mysite/components/content/dynamicdropdown/cq:dialog/content/items/column/items/dropdown]]]]]
Views
Replies
Total Likes
Hi @Jitesh07 ,
Your dropdown field is pointing to a sling:resourceType = /bin/mysite/datasource, which is not a valid resource type, it's a servlet path.
AEM is trying to render this path as a component resource in the dialog, which it can't hence the renderer error.
You need to keep the sling:resourceType of the dropdown field as:
granite/ui/components/coral/foundation/form/select
And use a datasource node inside it that has:
sling:resourceType = mysite/components/datasource
That sling:resourceType must match the resource type your servlet is registered against, not a servlet path (/bin/...).
1. Update Servlet Registration
Update your servlet registration to this:
@Component(service = Servlet.class,
property = {
"sling.servlet.resourceTypes=mysite/components/datasource",
"sling.servlet.methods=" + HttpConstants.METHOD_GET
}
)
NOT sling.servlet.paths, and definitely NOT /bin/... as a resourceType.
2. Update Dialog Structure in CRX/DE
Inside your dialog at:
/apps/mysite/components/content/dynamicdropdown/cq:dialog/content/items/column/items/dropdown
It should have:
sling:resourceType = granite/ui/components/coral/foundation/form/select
And under this node, you should add a child node:
Name: datasource
Type: nt:unstructured
Properties:
sling:resourceType = mysite/components/datasource
options = /content/dam/mysite/json/options.json
options is a custom property you’re reading from in your servlet (valueMap.get("options", String.class)).
3. Ensure JSON Exists at Path
In CRX/DE, confirm:
/content/dam/mysite/json/options.json/jcr:content
Has the binary property:
jcr:data -> your JSON content
You can upload this via Assets console or directly as a file.
4. Final Dialog Structure (Visual)
Here’s how the dropdown node should look:
dropdown (granite/ui/components/coral/foundation/form/select)
└── datasource (nt:unstructured)
├── sling:resourceType = mysite/components/datasource
└── options = /content/dam/mysite/json/options.json
Sometimes OSGi doesn’t recognize a new servlet immediately rebuild your core bundle or restart AEM if required.
Regards,
Amit
Views
Replies
Total Likes
Make sure your dialog structure is correct, especially around:
/items
/column
/items
/dropdown (select field)
sling:resourceType="granite/ui/components/coral/foundation/form/select"
/datasource
sling:resourceType="/apps/mysite/components/dynamicdropdown"
Hi @Jitesh07
Could you please share the blog like? Are you following https://aemlab.blogspot.com/2019/07/aem-touch-ui-dropdown-from-json.html?
Hi @arunpatidar
I am following this blog - https://medium.com/@arunpatidar26/dynamic-touch-ui-dropdown-using-json-data-0a450abad03e
Views
Replies
Total Likes
Hi @Jitesh07
Seems you added resourcetype
type=/bin/mysite/datasource
and servlet is registered with another path .
Could you please use same resourcetype which mentioned in the blog and once works then you can adjust accordingly.
@Jitesh07 Did you find the suggestions helpful? If you need more information, please let us know. If a response resolved your issue, kindly mark it as correct to help others in the future. Alternatively, if you discovered a solution on your own, we'd appreciate it if you could share it with the community. Thank you.
Views
Replies
Total Likes
Views
Likes
Replies
Views
Likes
Replies
Views
Like
Replies
Views
Likes
Replies
Views
Likes
Replies