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