使用bean-discovery-mode ="注释" @Named @Produces getter无法识别

时间:2015-10-06 18:09:44

标签: jsf cdi producer

我正在尝试运行本书" Java EE 7开发与WildFly"的样本。现在我面临以下问题/问题:

TheatreInfo.java:

@Dependent
@Named
public class Seat {
    ...
    public String getName() {
        return name;
    }
    ...
}

Seat.java:

<?xml version="1.0" encoding="UTF-8" ?>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
    xmlns:f="http://xmlns.jcp.org/jsf/core"
    xmlns:h="http://xmlns.jcp.org/jsf/html"
    template="/WEB-INF/templates/default.xhtml">
    <ui:define name="content">

        <h1>TicketBooker Machine</h1>

        <h:form id="reg">

            <h:panelGrid columns="1" border="1" styleClass="smoke">

                <h:dataTable var="_seat" value="#{seats}" rendered="#{not empty seats}" styleClass="simpletablestyle">

                    ...

                </h:dataTable>

            </h:panelGrid>

        </h:form>

    </ui:define>
</ui:composition>

的index.xhtml:

<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
    version="1.1" bean-discovery-mode="all/annotated">
</beans>

beans.xml中:

import operator
dict = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}

print "Unsorted : %s" %  dict.items()

print "Sorted by key : %s" % sorted(dict.items(), key=operator.itemgetter(0))

print "Sorted by value : %s" % sorted(dict.items(), key=operator.itemgetter(1))

这完全有效 - 我在网络浏览器中看到一个座位表 - 只要我使用bean-discovery-mode =&#34; all&#34;在我的beans.xml中。一旦我使用bean-discovery-mode =&#34;注释&#34;在我的beans.xml中,我不再在浏览器中看到座位表,我看到一个空表但没有发生错误。

在书中他们使用bean-discovery-mode =&#34; all&#34;但我更喜欢看哪些类是托管bean而不是托管bean。使用bean-discovery-mode =&#34;注释&#34;我不得不将@Dependent添加到某些类,但我无法使用名称生成器方法解决问题。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

嗯,如果我使用

,它会运行
@Named
@RequestScoped
public class TheatreInfo {
...

的实例
@Model
public class TheatreInfo {
...

不明白为什么,@ Name和@RequestScoped包含在@Model刻板印象中!?有谁知道吗?

谢谢,Dominic