8

Facelets でカスタム コンポーネントを定義するのは簡単かつ迅速ですが、私には理解できないことが 1 つあります。

Facelets を使用して、カスタム コンポーネントの属性を定義することはできますか? すなわち:私はそのような方法で使用されるコンポーネントを作成しました:

 <blue:modalWindow id="editFeesWizard" width="500" height="440" title="Wizard">

これは、taglib.xml で次のように定義されています。

<!DOCTYPE facelet-taglib PUBLIC
        "-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN"
        "http://java.sun.com/dtd/facelet-taglib_1_0.dtd">
<facelet-taglib>
    <namespace>...</namespace>
    <tag>
        <tag-name>modalWindow</tag-name>
        <source>components/modalWindow.xhtml</source>
    </tag>    
</facelet-taglib>

Taglib にはコンポーネントの属性 (id、幅、高さ、タイトル) に関する情報が含まれていないため、IDE は構文をチェックできず、入力中に属性を提案することもできません。

Facelets のドキュメントでは、この件については何も見つかりません。あなたが助けることができると思った。ありがとう!

4

3 に答える 3

4

どうやら仕方がないようです。しかし、あったとしても、(たとえば) Eclipse がそれを処理してオートコンプリートを提供できるとは思えません。.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">
......
</taglib>

オートコンプリートのためだけに。醜い、私は知っています。

于 2010-04-08T07:57:17.510 に答える
0

JSF2とファセットを使用して複合コンポーネントを作成できることを楽しみにしています。私が読んだことから、それは非常に迅速かつ簡単に思えます、そしてあなたはあなたの複合コンポーネントがどの属性を受け入れるかを定義します。

于 2010-04-09T22:08:31.070 に答える