Я работаю над приложением JSF, где мне нужно создать пользовательскую библиотеку тегов. Мне нужно создать некоторую функцию, которая будет использоваться внутри тега el expression на моей странице jsf.
Пожалуйста, найдите ниже мой файл taglib:
<?xml version = "1.0"?> <!DOCTYPE facelet-taglib PUBLIC"-//Sun Microsystems, Inc.//DTD FaceletTaglib 1.0//EN" "http://java.sun.com/dtd/facelet-taglib_1_0.dtd"> <facelet-taglib > <namespace>http://com.xyz/functions</namespace> <function> <function-name>customMethodName</function-name> <function-class>Custom JavaClass</function-class> <function-signature>String customMethodName(java.lang.String) </function-signature> </function> </facelet-taglib>
Сначала в файле web.xml я определил это следующим образом:
<context-param> <param-name>javax.faces.FACELETS_LIBRARIES</param-name> <param-value>/WEB-INF/taglib/mytaglib.taglib.xml</param-value> </context-param>
Но этого было недостаточно во время компиляции, он не мог идентифицировать URI.
На странице JSF это было включено как:
xmlns:csfn="http://com.xyz/functions" <h:outputText value="#{csfn:customMethodName(data)}">
Там после того, как я сделал следующую модификацию:
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <jsp-config> <jsp-property-group> <url-pattern>*.jsf</url-pattern> <is-xml>true</is-xml> </jsp-property-group> <taglib> <taglib-uri>http://com.xyz/functions</taglib-uri> <taglib-location>/WEB-INF/taglib/mytaglib.taglib.xml</taglib-location> </taglib> </jsp-config> </web-app>
На этот раз приложение было успешно скомпилировано, но с ошибкой при развертывании в weblogic 12.2.1
Unable to access the selected application. Message icon - Error VALIDATION PROBLEMS WERE FOUND <372:7> problem: cvc-complex-type.2.4a: Expected element 'jsp-property-group@http://xmlns.jcp.org/xml/ns/javaee' instead of 'taglib@http://xmlns.jcp.org/xml/ns/javaee' here in element jsp- config@http://xmlns.jcp.org/xml/ns/javaee Message icon - Error VALIDATION PROBLEMS WERE FOUND <372:7> problem: cvc-complex-type.2.4a: Expected element 'jsp-property-group@http://xmlns.jcp.org/xml/ns/javaee' instead of 'taglib@http://xmlns.jcp.org/xml/ns/javaee' here in element jsp- config@http://xmlns.jcp.org/xml/ns/javaee
Может кто-нибудь разобраться в проблеме ???