JSP为JSP Tag Library提供动态值

时间:2016-03-30 07:40:18

标签: jsp aem

我试图将动态值传递给jsp标记库。这适用于AEM,它具有相当大的魔力,但最终它使用JSP渲染其组件。我尝试了底部的那个,但没有做任何事情

<%
    String pagethemeclass = properties.get("pagethemeclass","");
    String clientLibName = "project.all-" + pagethemeclass;
%>
<cq:includeClientLib css=${clientLibName} />

我还尝试了一个带有JSTL选择的if else开关,但我认为库调用发生在开关本身之前

2 个答案:

答案 0 :(得分:2)

rakhi4110给出了正确的答案,但是scriplet是不好的样式,所以我会取出scriplet块并在那里使用jsp表达式语言:

<cq:includeClientLib css="project.all-${properties.pagethemeclass}" />

答案 1 :(得分:1)

您需要在页面上下文中使用它来在标记库中访问它。

以下内容可行

<%
    String pagethemeclass = properties.get("pagethemeclass","");
    pageContext.setAttribute("clientLibName", "project.all-" + pagethemeclass);
%>
<cq:includeClientLib css="${clientLibName}" />