JSF определяет пользовательское пространство имен для объявления компонента - PullRequest
1 голос
/ 18 августа 2010

когда вы используете компонент из внешних библиотек (или пользовательский компонент) на странице JSF, вы добавляете объявление xmlns, например:

XMLNS: Util = "http://java.sun.com/jsf/composite/component/util

Я хотел бы знать, что мне нужно сделать, чтобы использовать личный адрес в Namaspace, как показано ниже:

xmlns: p = "http://primefaces.prime.com.tr/ui"

Это что-то связанное с пакетами? Или это зависит от имени .JAR, содержащего компоненты?

Спасибо!

1 Ответ

3 голосов
/ 18 августа 2010

Для Facelets это определяется в файле .taglib.xml. В случае PrimeFaces это /META-INF/primefaces-p.taglib.xml:

<?xml version="1.0" encoding="UTF-8"?>
<facelet-taglib 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-facelettaglibrary_2_0.xsd"
        version="2.0">
    <namespace>http://primefaces.prime.com.tr/ui</namespace>
    ...

Обратите внимание на <namespace>. Для JSP это определяется в файле .tld, для PrimeFaces - /META-INF/primefaces-p.tld

<?xml version="1.0" encoding="UTF-8"?>
<taglib xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.1">
    <tlib-version>1.2</tlib-version>
    <short-name>p</short-name>
    <uri>http://primefaces.prime.com.tr/ui</uri>
    ...

Обратите внимание на <uri>.

...