gpt4 book ai didi

jsf - 需要复合组件 ="true"不被尊重

转载 作者:行者123 更新时间:2023-12-04 23:54:43 26 4
gpt4 key购买 nike

在复合:接口(interface)中,我定义了一个属性,如下所示:

<composite:attribute name="myAttribute" required="true"/>

现在,当我像这样使用我的复合组件时,没有定义任何属性:
<myTag:myCC/>

我预计会发生错误。它没有。我可能会错过什么?

最佳答案

只有当您的 JSF 项目阶段设置为 Development 时才会发生。如下web.xml :

<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>

默认为 Production .如果您在设置上述上下文参数后开始看到与“开发错误”相关的其他几个错误/警告,请不要感到惊讶。

在您的特定情况下,当您省略 required 属性时,您应该在打开页面时遇到类似这样的异常:
javax.faces.view.facelets.TagException: /test.xhtml @22,19 <my:composite> The following attribute(s) are required, but no values have been supplied for them: foo. 
at com.sun.faces.facelets.tag.composite.InterfaceHandler.validateComponent(InterfaceHandler.java:232)
at com.sun.faces.facelets.tag.composite.InterfaceHandler.apply(InterfaceHandler.java:125)
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
...

关于jsf - 需要复合组件 ="true"不被尊重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18482024/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com