java - 接缝可点击数据表

标签 java seam

我正在使用接缝,我想这样做: 我想显示帖子列表,然后用户单击帖子,然后将显示单击的帖子。 我的代码是:

<h:dataTable id="hotels" value="#{postList}" var="post" rendered="#{postList.rowCount>0}"> <h:column> <f:facet name="header">title</f:facet> <s:link value="#{post.title}" action="#{postBean.postView(post)}"></s:link> </h:column> </h:dataTable>

我的 bean 是:

@Stateful
@Name("postBean")
public class PostBeanImpl extends BaseBean implements PostBean {

    @PersistenceContext
    private EntityManager entityManager;

    @In(required = false)
    @Out(required = false)
    Post post;

    @DataModel
    public List<Post> postList;

    public EntityManager getEntityManager() {
        return entityManager;
    }

    public void setEntityManager(EntityManager entityManager) {
        this.entityManager = entityManager;
    }

    public Post getPost() {
        return post;
    }

    public void setPost(Post post) {
        this.post = post;
    }

    public List<Post> getPostList() {
        return postList;
    }

    public void setPostList(List<Post> postList) {
        this.postList = postList;
    }

    public String view() {
        if (post != null)
            return "";
        String sid = getParamValue("id");
        if (sid == null) return "home";
        Integer id = Integer.valueOf(sid);
        post = entityManager.find(Post.class, id);
        return "";
    }

    @Begin
    public void postView(Post selectedPost) {
        this.post = entityManager.merge(selectedPost);
    }

    public void list() {
        setPostList(entityManager.createQuery("from Post").getResultList());
    }

    public String save() {
        entityManager.persist(post);
        return "/blog/view.xhtml?id=" + post.getId();
    }

   @Remove @End
   public void destroy() {}

}

问题是当我点击帖子时,它会调用 postView(Post selectedPost) 并且 selectedPost 的所有属性均为空。

但是列表中的对象是好的(不为空) 为什么会这样呢? 帮助我。

谢谢

最佳答案

看看 @DataModelSelection 注释 - 这允许您访问数据模型中单击的对象。

关于java - 接缝可点击数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6265377/

相关文章:

java - 如何有条件地让代码循环回到java代码中的特定点?

java - 未调用接缝页面操作

tomcat - javax.servlet.ServletException - 我怎样才能找到原因?

ajax - 在 Seam 中保持 session 和对话的事件

java - Seam Quartz Dispatcher 未在给定 cron 表达式的秒和分钟字段上触发

java - 组合与内部类

java - 在java中实现随机搜索算法

java - 与 Libgdx 的圆形和多边形碰撞

java - 如何在现有的Java应用程序中添加Python模块

hibernate - 什么会导致Hibernate InvalidStateException