blu*_*oot 11 dependencies war taglib maven jsf-2
我有一个打包为的Maven项目jar.
我还有一个打包为的Maven项目war.这个war项目有一个tld文件和一些xhtml文件(标签libs).战争项目的结构(基本上):
pom.xml
src
main
java
...
webapp
WEB-INF
my-facelets.taglib.xml
facelets
aTag.xhtml
anotherTag.xhtml
META-INF
my-facelets.taglib.tld
Run Code Online (Sandbox Code Playgroud)
然后出现了从war项目中删除那些xml,xhtml和tld文件并将它们打包到jar项目中的要求.所以我的第一次尝试是添加jar项目的POM:
<resources>
<resource>
<directory>src/main/tld</directory>
<targetPath>META-INF</targetPath>
</resource>
<resource>
<directory>src/main/taglib</directory>
<targetPath>WEB-INF</targetPath>
</resource>
</resources>
Run Code Online (Sandbox Code Playgroud)
当然,将文件放入src/main/tld(我想导出的文件META-INF)和src/main/taglib(我想导出的文件WEB-INF)中.罐子是按照我的意愿创建的:
myjar
com
my
classes
WEB-INF
META-INF
my-facelets.taglib.tld
WEB-INF
...
Run Code Online (Sandbox Code Playgroud)
然后我将这个新jar添加到我的第一个war项目中,作为maven依赖.
问题是那些在jar的META-INF,WEB-INF(jar在war里面WEB-INF/lib)内的.tld,.xhtml,.xml文件无法识别.显然他们应该直接进入战争结构,除非执行其他一些配置.这是必须要求的,因为多个war项目将使用jar项目的功能(类和标记库).
duf*_*ymo 10
这些天的做法是将TLD文件放入标记库JAR中,让类加载器找到它们.下载Apache JSTL JAR并了解它们是如何做到的.我建议遵循该惯例.它也会简化您的应用程序,因为您不必在web.xml文件中声明TLD:只需将JAR放入CLASSPATH中,并确保.jsp中的URI与TLD中的URI相匹配.
@duffymo - 您的解决方案完全有效.在描述中添加图形.
创建一个生成JAR的maven项目.保持这样的结构如下
src -- main
|-- java
| `-- net
| `-- madhur
| `-- helloTag.java
`-- resources
`-- META-INF
`-- tags
`-- customTags.tld
Run Code Online (Sandbox Code Playgroud)
在你的customTags.tld文件中添加uri之类的东西
<uri>http://www.xyzabc.com/taglibs/customTags</uri>
Run Code Online (Sandbox Code Playgroud)
访问WAR文件中的标记
战争应该有以下结构
META-INF/
META-INF/MANIFEST.MF
WEB-INF/
WEB-INF/classes/
WEB-INF/lib/
WEB-INF/lib/{tagLibrary}.jar
WEB-INF/web.xml
WEB-INF/customTags.tld
Run Code Online (Sandbox Code Playgroud)
web.xml中
<jsp-config>
<taglib>
<taglib-uri>www.xyzabc.com/taglibs/customTags</taglib-uri>
<taglib-location>/WEB-INF/customTags.tld</taglib-location>
</taglib>
</jsp-config>
Run Code Online (Sandbox Code Playgroud)
在FTL或JSP文件中使用标记
FTL:
<#assign ct = JspTaglibs["www.xyzabc.com/taglibs/customTags"]>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13063 次 |
| 最近记录: |