Jsp 访问Adobe CQ 5.6中的EL功能,未拾取TLD
任何人都可以为从部署在Adobe CQ 5.6上的JSP中访问EL函数提供指导吗 我的JSP位于一个包中,而EL函数(Java类中的静态方法)和关联的TLD位于一个单独的OSGi包中。两者都安装到Adobe CQ。 捆绑包的POM不会导出相关的Java包:Jsp 访问Adobe CQ 5.6中的EL功能,未拾取TLD,jsp,el,aem,Jsp,El,Aem,任何人都可以为从部署在Adobe CQ 5.6上的JSP中访问EL函数提供指导吗 我的JSP位于一个包中,而EL函数(Java类中的静态方法)和关联的TLD位于一个单独的OSGi包中。两者都安装到Adobe CQ。 捆绑包的POM不会导出相关的Java包: <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifact
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-Name>AIB UI Bundle</Bundle-Name>
<Export-Package>
mypackage.*
</Export-Package>
<Include-Resource>
{maven-resources}
</Include-Resource>
<Embed-Dependency>joda-convert;scope=compile|runtime,joda-time;scope=compile|runtime,</Embed-Dependency>
<Bundle-Resource>/META-INF/tags</Bundle-Resource>
<Sling-Bundle-Resource>/META-INF/tags</Sling-Bundle-Resource>
</instructions>
</configuration>
</plugin>
TLD,位于同一OSGi包中,
src/main/resources/META-INF/utilityExpressionLanguageFunctions.TLD
<?xml version="1.0" encodeing="ISO-8859-1" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<tlib-version>1.0</tlib-version>
<uri>utilityFunction</uri>
<function>
<name>displayBuildNumber</name>
<function-class>mypackage.UtilityFunction</function-class>
<function-signature>String displayBuildNumber()</function-signature>
</function>
</taglib>
您需要有uri值的完整地址。考虑以下充分发挥作用的例子: //在pom.xml文件中
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Export-Package>
//Packages.....
</Export-Package>
<Import-Package>
*;resolution:=optional
</Import-Package>
<Embed-Dependency>*;scope=compile|runtime</Embed-Dependency>
<Sling-Test-Regexp>.*Test</Sling-Test-Regexp>
<Include-Resource>
META-INF/my-tags.tld=target/classes/META-INF/my-tags.tld
</Include-Resource>
</instructions>
</configuration>
</plugin>
org.apache.felix
maven捆绑插件
真的
//包裹。。。。。
*;分辨率:=可选
*;范围=编译|运行时
*测试
META-INF/my-tags.tld=target/classes/META-INF/my-tags.tld
//在tld文件中
我的测试标记库
1
cq通用
http://taglib.cq.mycompany.se/taglibs/my-tags/1.0
剂量
com.my.company.SomeUtils
字符串doSomeThing(java.lang.String)
//在jsp文件中
<%@taglib prefix="mytags" uri="http://taglib.cq.mycompany.se/taglibs/my-tags/1.0"%>
${mytags:doSomeThing(stringValueOfSomething)}
${mytags:doSomeThing(stringValueOfSomething)}
请注意,uri值位于完全限定地址的两个位置:
在tld文件中:
<uri>http://taglib.cq.mycompany.se/taglibs/my-tags/1.0</uri>
http://taglib.cq.mycompany.se/taglibs/my-tags/1.0
在jsp文件中:
<%@taglib prefix="mytags" uri="http://taglib.cq.mycompany.se/taglibs/my-tags/1.0"%>
希望这能解决问题您需要有uri值的完整地址。考虑以下充分发挥作用的例子: //在pom.xml文件中
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Export-Package>
//Packages.....
</Export-Package>
<Import-Package>
*;resolution:=optional
</Import-Package>
<Embed-Dependency>*;scope=compile|runtime</Embed-Dependency>
<Sling-Test-Regexp>.*Test</Sling-Test-Regexp>
<Include-Resource>
META-INF/my-tags.tld=target/classes/META-INF/my-tags.tld
</Include-Resource>
</instructions>
</configuration>
</plugin>
org.apache.felix
maven捆绑插件
真的
//包裹。。。。。
*;分辨率:=可选
*;范围=编译|运行时
*测试
META-INF/my-tags.tld=target/classes/META-INF/my-tags.tld
//在tld文件中
我的测试标记库
1
cq通用
http://taglib.cq.mycompany.se/taglibs/my-tags/1.0
剂量
com.my.company.SomeUtils
字符串doSomeThing(java.lang.String)
//在jsp文件中
<%@taglib prefix="mytags" uri="http://taglib.cq.mycompany.se/taglibs/my-tags/1.0"%>
${mytags:doSomeThing(stringValueOfSomething)}
${mytags:doSomeThing(stringValueOfSomething)}
请注意,uri值位于完全限定地址的两个位置:
在tld文件中:
<uri>http://taglib.cq.mycompany.se/taglibs/my-tags/1.0</uri>
http://taglib.cq.mycompany.se/taglibs/my-tags/1.0
在jsp文件中:
<%@taglib prefix="mytags" uri="http://taglib.cq.mycompany.se/taglibs/my-tags/1.0"%>
希望这将解决问题如果问题不在于安装包,我认为uri可能需要像这样更具体
如果问题不在于安装包,我认为uri可能需要像这样更具体