Expand my Community achievements bar.

Applications for the 2024-2025 Adobe Experience Manager Champion Program are open!
SOLVED

How sling add script js included in JSP

Avatar

Level 7

Suppose I am having one component which is having one jsp file and that jsp file having code like

<script type="text/javascript" src="js/inline/polyfills.bundle.js">

how sling will get the js file ....it is taking by default libs/somefolder/js/inline/polyfills.bundle.js.....

bt if i have made chnages in polyfills.bundle.js and overlay the modes from libs to apps like apps/somefolder/js/inline/polyfills.bundle.js .

at run time sling will pick app js as we know sling will search first in libs then it ll look into libs ......but in my case it is taking from libs only after doing that as well.

What I am doing wrong here any idea ?

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

instead of including script like above as it's not the correct way of including js files , could you try something like below in your jsp file-

<ui:includeClientLib categories="cq.jquery"/>

The category will be your clientlib folder.

For more details refer below-

Using Client-Side Libraries

View solution in original post

5 Replies

Avatar

Correct answer by
Community Advisor

instead of including script like above as it's not the correct way of including js files , could you try something like below in your jsp file-

<ui:includeClientLib categories="cq.jquery"/>

The category will be your clientlib folder.

For more details refer below-

Using Client-Side Libraries

Avatar

Employee Advisor

Yes, always use categories. For sly you can use the following syntax:

data-sly-call="${clientlib.js @ categories='clientlib1,clientlib2'}"

Avatar

Level 7

Its OOTB jsp.... I am trying to cahnge the OOTB functionalities.......Alll above syntax I am aware .please help me on my specific question

Avatar

Community Advisor

We are answering your specific question only.

Please use the include clientlib syntax to include js file instead of script tag so tgat your js gets called instead of libs.

Hope this makes sense.

Avatar

Level 7

ok fine ...thanks for your reply