如何在 JSF2 中将一个 @Named bean 注入到另一个 @Named bean 中?

发布于 2024-12-06 05:29:43 字数 619 浏览 3 评论 0原文

我有以下代码:

@Named
@RequestScoped
public class SearchBean{
    private String title;
    private String author;
    // .... getters and setter s
}

search.xhtml 中,我有:

<h:inputText value="#{searchBean.title}" />
<h:commandButton action=#{srchUI.action}"/>

我还有以下 ControllerBean:

@Named("srchUI")
@RequestScoped
public class SearchUIController {
    public String action(){
        // ...
    }
}

我想访问 action() 中的 SearchBean.title 方法...怎么做?如何将此 bean 注入到我的 UI 控制器中?

I have the following code:

@Named
@RequestScoped
public class SearchBean{
    private String title;
    private String author;
    // .... getters and setter s
}

In search.xhtml I have:

<h:inputText value="#{searchBean.title}" />
<h:commandButton action=#{srchUI.action}"/>

And I have also the following ControllerBean:

@Named("srchUI")
@RequestScoped
public class SearchUIController {
    public String action(){
        // ...
    }
}

I want to access the SearchBean.title in action() method... how to do it? How to inject this bean in my UI Controller?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

浅沫记忆 2024-12-13 05:29:43

使用@Inject。

@Named("srchUI")
@RequestScoped
public class SearchUIController {

    @Inject
    private SearchBean searchBean;

    public String action(){

    }

}

Use @Inject.

@Named("srchUI")
@RequestScoped
public class SearchUIController {

    @Inject
    private SearchBean searchBean;

    public String action(){

    }

}
上课铃就是安魂曲 2024-12-13 05:29:43
public class SearchUIController {

    @ManagedProperty(value = "#{searchBean}")
    private SearchBean searchBean;

    // .. setters and getters for the searchBean
}

getter-setter 是必要的。

public class SearchUIController {

    @ManagedProperty(value = "#{searchBean}")
    private SearchBean searchBean;

    // .. setters and getters for the searchBean
}

Getters-setters are necessary.

乖乖公主 2024-12-13 05:29:43

使用 @Inject 并在注入的 bean 上添加 Get 和 Set 方法!

@Named(value = "postMB")
@SessionScoped
public class PostMB{
   // inject comments on your posts
   @Inject
   private CommentMB commentMB;


   /* ADD GET and SET Methods to commentMB*/
   public CommentBM getCommentMB(){return this.commentMB;}
   public void setCommentMB(CommentMB newMB){this.commentMB = newMB;}
}


@Named(value="commentMB")
@RequestScoped
public class CommentMB{
  ....
}

Use @Inject and add Get and Set methods on your injected bean!

@Named(value = "postMB")
@SessionScoped
public class PostMB{
   // inject comments on your posts
   @Inject
   private CommentMB commentMB;


   /* ADD GET and SET Methods to commentMB*/
   public CommentBM getCommentMB(){return this.commentMB;}
   public void setCommentMB(CommentMB newMB){this.commentMB = newMB;}
}


@Named(value="commentMB")
@RequestScoped
public class CommentMB{
  ....
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文