0

假设我有 2 个托管 bean:带有会话范围的查询和登录。

我可以看到调用了 setQuery,但参数为 null,因此我的方法 check() 失败。由于查询不是一个简单的值而是一个对象,如何初始化 Bean“查询”?

这是我的 Bean“登录”(不使用注释):

public class login {
  private Query query;

  public void setQuery(Query q) {
    query = q;
  }

  public Query getQuery() {
    return query;
  }

  public String check() {
    ... do s.th. with query
  }

和faces-config.xml:

...
<managed-bean>
  <managed-bean-name>query</managed-bean-name>
  <managed-bean-class>Query</managed-bean-class>
  <managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<managed-bean>
  <managed-bean-name>login</managed-bean-name>
  <managed-bean-class>login</managed-bean-class>
  <managed-bean-scope>session</managed-bean-scope>
  <managed-property>
    <property-name>query</property-name>
    <property-class>Query</property-class>
    <value>#{query}</value> 
  </managed-property> 
</managed-bean>
...
4

0 回答 0