【问题标题】:Session Bean doesn't work会话 Bean 不起作用
【发布时间】:2010-11-04 19:45:20
【问题描述】:

我有一个SessionBean,想从名为Benutzer 的InfoHolder 类加载数据。但它不起作用。

 /*
 * SessionBean1.java
 *
 * Created on 21.06.2009, 16:03:41
 */

package egispartnerprofile;

import com.sun.rave.web.ui.appbase.AbstractSessionBean;
import group52.infoholders.Benutzer;
import javax.faces.FacesException;

/**
 * <p>Session scope data bean for your application.  Create properties
 *  here to represent cached data that should be made available across
 *  multiple HTTP requests for an individual user.</p>
 *
 * <p>An instance of this class will be created for you automatically,
 * the first time your application evaluates a value binding expression
 * or method binding expression that references a managed bean using
 * this class.</p>
 *
 * @author reBourne
 */
public class SessionBean1 extends AbstractSessionBean {


    // <editor-fold defaultstate="collapsed" desc="Managed Component Definition">

    /**
     * <p>Automatically managed component initialization.  <strong>WARNING:</strong>
     * This method is automatically generated, so any user-specified code inserted
     * here is subject to being replaced.</p>
     */
    private void _init() throws Exception {
    }
    // </editor-fold>
private String user;
private Benutzer bntzr ;
    /**
     * <p>Construct a new session data bean instance.</p>
     */
    public SessionBean1() {
    }

    /**
     * <p>This method is called when this bean is initially added to
     * session scope.  Typically, this occurs as a result of evaluating
     * a value binding or method binding expression, which utilizes the
     * managed bean facility to instantiate this bean and store it into
     * session scope.</p>
     * 
     * <p>You may customize this method to initialize and cache data values
     * or resources that are required for the lifetime of a particular
     * user session.</p>
     */

    public SessionBean1(Benutzer benutzer) {
        this.bntzr = benutzer;
    }

    @Override
    public void init() {
        // Perform initializations inherited from our superclass
        super.init();
        // Perform application initialization that must complete
        // *before* managed components are initialized
        // TODO - add your own initialiation code here

        // <editor-fold defaultstate="collapsed" desc="Managed Component Initialization">
        // Initialize automatically managed components
        // *Note* - this logic should NOT be modified
        try {
            _init();
        } catch (Exception e) {
            log("SessionBean1 Initialization Failure", e);
            throw e instanceof FacesException ? (FacesException) e: new FacesException(e);
        }

        // </editor-fold>
        // Perform application initialization that must complete
        // *after* managed components are initialized
        // TODO - add your own initialization code here
    }

    /**
     * <p>This method is called when the session containing it is about to be
     * passivated.  Typically, this occurs in a distributed servlet container
     * when the session is about to be transferred to a different
     * container instance, after which the <code>activate()</code> method
     * will be called to indicate that the transfer is complete.</p>
     * 
     * <p>You may customize this method to release references to session data
     * or resources that can not be serialized with the session itself.</p>
     */
    @Override
    public void passivate() {
    }

    /**
     * <p>This method is called when the session containing it was
     * reactivated.</p>
     * 
     * <p>You may customize this method to reacquire references to session
     * data or resources that could not be serialized with the
     * session itself.</p>
     */
    @Override
    public void activate() {
    }

    /**
     * <p>This method is called when this bean is removed from
     * session scope.  Typically, this occurs as a result of
     * the session timing out or being terminated by the application.</p>
     * 
     * <p>You may customize this method to clean up resources allocated
     * during the execution of the <code>init()</code> method, or
     * at any later time during the lifetime of the application.</p>
     */
    @Override
    public void destroy() {
    }

    /**
     * <p>Return a reference to the scoped data bean.</p>
     *
     * @return reference to the scoped data bean
     */
    protected ApplicationBean1 getApplicationBean1() {
        return (ApplicationBean1) getBean("ApplicationBean1");
    }

    public // </editor-fold>
    String getUser() {
        return user;
    }

    public void setUser(String user) {
        this.user = user;
    }

    }

这确实有效。

但是当我使用 bntzr 时......然后就没有任何效果了:/ 有什么不平凡的例子吗?

【问题讨论】:

  • 一个很好的例子,说明在代码中混合语言如何让读者感到困惑。哦,Achtung 有点不适合用德语提问,甚至用英语提问。
  • 混合语言是什么意思?对不起.. 对于 Achtung :/
  • 贝努策无疑。虽然我知道你的意思,作为佛兰芒语,很难将所有内容都放在英语读者的上下文中。想象一下阅读源代码,其中所有类都有意大利语名称。
  • --尽管这是我看到的查看您的代码的唯一实例
  • Benutzer 是可序列化的,具有无参数的默认构造函数?

标签: java jakarta-ee ejb


【解决方案1】:

使用这个:group52.infoholders.Benutzer。

是否有 getter 和 setter 函数,例如: public Benutzer getBenutzer() { return bntzr; } 公共无效 setBenutzer(Benutzer bntzr ) { this.bntzr = bntzr; }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-30
    • 2014-07-09
    • 2013-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多