How to Fetch the Page Properties in Model Class of AEM (Which i added custom) | Community
Skip to main content
New Participant
March 25, 2024
Solved

How to Fetch the Page Properties in Model Class of AEM (Which i added custom)

  • March 25, 2024
  • 3 replies
  • 1187 views

.context.xml

<?xml version="1.0" encoding="UTF-8"?> <jcr:root xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0" xmlns:granite="http://www.adobe.com/jcr/granite/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:sling="http://sling.apache.org/jcr/sling/1.0" jcr:primaryType="nt:unstructured" jcr:title="Page" sling:resourceType="cq/gui/components/authoring/dialog" extraClientlibs="[cq.common.wcm,core.wcm.components.page.v3.editor,cq.wcm.msm.properties,granite.contexthub.configuration,cq.siteadmin.admin.properties,core.wcm.components.image.v3.editor]" helpPath="https://www.adobe.com/go/aem_cmp_page_v3" mode="edit" trackingFeature="core-components:page:v3"> <content granite:class="cq-dialog-content-page" jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/coral/foundation/container"> <items jcr:primaryType="nt:unstructured"> <tabs granite:class="cq-siteadmin-admin-properties-tabs" jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/coral/foundation/tabs" size="L"> <items jcr:primaryType="nt:unstructured"> <newtab cq:showOnCreate="{Boolean}true" jcr:primaryType="nt:unstructured" jcr:title="New Tab" sling:resourceType="granite/ui/components/coral/foundation/fixedcolumns"> <items jcr:primaryType="nt:unstructured"> <column jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/coral/foundation/container"> <items jcr:primaryType="nt:unstructured"> <section jcr:primaryType="nt:unstructured" jcr:title="New Custom tab" sling:resourceType="granite/ui/components/coral/foundation/form/fieldset"> <items jcr:primaryType="nt:unstructured"> <textfield jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/coral/foundation/form/textfield" name="./testfield"/> </items> </section> </items> </column> </items> </newtab> </items> </tabs> </items> </content> </jcr:root>



 

 

 

here you can see i added the custom text field to my page properties but not able to fetch this value in models class

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by arunpatidar

HI @sanjaykumardas 

 

you can use the below annotations

@ScriptVariable
private ValueMap pageProperties;

@SlingObject
private Page currentPage;

 

which will read the properties and use the get method and retrieve the required property from the page.

 


Ref https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/how-to-inject-page-property-into-sling-model-using-annotations/m-p/619622 

3 replies

New Participant
March 26, 2024

i got the solution from my end 

this code only need to write

<meta property="testing" contain="${pageProperties.testfield}">

arunpatidar
New Participant
March 26, 2024

Yes, you can also use the HTL global objects directly in the HTL but in case of any business processing required then use Sling Model.

Arun Patidar
New Participant
March 26, 2024

okay sure @arunpatidar 

arunpatidar
arunpatidarAccepted solution
New Participant
March 26, 2024

HI @sanjaykumardas 

 

you can use the below annotations

@ScriptVariable
private ValueMap pageProperties;

@SlingObject
private Page currentPage;

 

which will read the properties and use the get method and retrieve the required property from the page.

 


Ref https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/how-to-inject-page-property-into-sling-model-using-annotations/m-p/619622 

Arun Patidar
MayurSatav
New Participant
March 25, 2024