【问题标题】:Issue with EJB/JSF2.0EJB/JSF2.0 的问题
【发布时间】:2011-10-15 22:54:31
【问题描述】:

我目前正在练习 JSF 和 EJB,但现在我无法让页面显示请求的信息,这有输入文本和提交按钮 (input.xhtml),预期结果是显示提交的文本.

/input.xhtml @16,56 value="#{welcome.name}": Target Unreachable, identifier 'welcome' resolved to null

我已尽一切努力修复它,这是 input.xthml 的一部分

        <ui:define name="content">
            <h:form>
                <h:panelGrid columns="3">
                    <h:outputText value="Name:"/>
                    <h:inputText value="#{welcome.name}" title="name" id="name"
                                 required="true" />
                    <h:message for="name" style="color: red"/>
                </h:panelGrid>
                <h:commandButton action="show" value="submit"/>
            </h:form>

        </ui:define>

    </ui:composition>

这是豆子。

@ManagedBean
@RequestScoped
public class Welcome {
    private String name;
    private String message;

    public String getMessage() {
        return "Hello " + name;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

【问题讨论】:

    标签: jsf-2 ejb


    【解决方案1】:

    代码看起来不错,应该可以正常工作。我只是不明白这与 JPA 和 EJB 有什么关系。当您从测试用例中删除 JPA/EJB 时,您会遇到完全相同的问题,对吧?你可以不考虑这些标签和这些细节。

    至于具体问题,因为您省略了import 声明,我只能猜测您实际上是从javax.annotation package 导入@ManagedBean 而不是javax.faces.bean package。前者不会使 bean 由 JSF 管理,但后者会。检查并修复您的导入。注意@RequestScoped 也需要来自the same package,而不是来自javax.enterprise.context package

    import javax.faces.bean.ManagedBean;
    import javax.faces.bean.RequestScoped;
    
    @ManagedBean
    @RequestScoped
    public class Welcome {
        // ...
    }
    

    【讨论】:

      【解决方案2】:
      write like this
      
      @ManagedBean(name="welcome")
      @RequestScoped
      public class welcome implements Serializable {
      private String name;
      }
      
      In html write like this
      <h:inputText value="#{welcome.name}" title="name" id="name"
                                       required="true" />
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多