jsf - 在 taglib 中定义的自定义 Facelets 组件和属性

标签 jsf components facelets taglib

在 Facelets 中定义自定义组件既简单又快捷,但有一件事我想不通。

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 文档中找不到有关此主题的任何内容。以为你可以帮忙。谢谢!

最佳答案

好像没有办法。但即使有,我也不认为 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>

只是为了自动完成。丑,我知道。

关于jsf - 在 taglib 中定义的自定义 Facelets 组件和属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2598036/

相关文章:

jsf - 如何将 bool 属性绑定(bind)到呈现的属性?

jsf - JavaServer Faces 1.2 是否已弃用?

java - Spring Boot 组件优先级

jsf - 将方法参数/参数传递给复合组件操作属性

jsf - 将 EL 方法表达式作为自定义 Facelets 标记文件的属性传递

java - Seam - 具有依赖项的 ListSelectMenus

java - Primefaces 数据表 : what 'onRowSelectUpdate="display"' means?

apache-flex - 有没有好的 Flex (3) 日期/时间选择器组件?

javascript - Angular ngx-mat-select-search 自定义组件

css - 将 JSF 前缀更改为后缀映射迫使我在 CSS 背景图像上重新应用映射