JSF - Managed Beans instantiate Beans?

Hi, I�m new in JSF. I�d like to know if there is any way to configure in faces-config.xml a way to make a bean to be instantiate within do it explicity in the managed bean class.
Let me explain better, I have a form with two fields, login and password. I have a Bean called "User", with this two attributes and others. When I click on the commandButton, a method in the managed ben is called. What a wanna know is: do I have to declare the same bean�s attributes in the managed bean, generating gets and setters methods or there is a way to do this in the faces-config.xml?
Thanks.

I guess what you want to do is something like as follows:
(jsp file)<h:inputText value="#{managedBean.user.login}"/>(faces-config.xml)    <managed-bean>
        <managed-bean-name>managedBean</managed-bean-name>
        <managed-bean-class>ManagedBean</managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
        <managed-property>
            <property-name>user</property-name>
            <value>#{userBean}</value>
        </managed-property>
    </managed-bean>
    <managed-bean>
        <managed-bean-name>userBean</managed-bean-name>
        <managed-bean-class>User</managed-bean-class>
        <managed-bean-scope>none</managed-bean-scope>
    </managed-bean>

Similar Messages

  • Invoking Web Service from JSF Managed Bean

    Hi all,
    I am trying to invoke a webservice from Managed Bean and getting an exception.
    Server : WAS 6.1.0.2
    Version :JSF 1.2
    Type of WS Invocation : JAX-WS web services
    IDE : RAD 7.0.0
    I have set up the class path correctly and added relevant WS Client in EAR ....
    Following is the exception am receiving :
    [8/31/11 7:59:25:335 EDT] 0000002d WebApp E [Servlet Error]-[Faces Servlet]: javax.faces.el.EvaluationException: java.lang.NoClassDefFoundError: org.example.www.Sample_PortType
    at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:170)
    at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:123)
    at javax.faces.component.UIOutput.getValue(UIOutput.java:147)
    at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:84)
    at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:204)
    at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:171)
    at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:754)
    at javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:627)
    at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:550)
    at com.sun.faces.taglib.html_basic.InputTextareaTag.doEndTag(InputTextareaTag.java:651)
    at com.ibm._jsp._sample._jspx_meth_h_inputTextarea_0(_sample.java:107)
    at com.ibm._jsp._sample._jspx_meth_h_form_0(_sample.java:149)
    at com.ibm._jsp._sample._jspx_meth_f_view_0(_sample.java:180)
    at com.ibm._jsp._sample._jspService(_sample.java:77)
    at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:85)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:972)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
    at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
    at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:115)
    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:168)
    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:308)
    at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:325)
    at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:249)
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:239)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:118)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:972)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
    at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
    at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3129)
    at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:238)
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811)
    at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433)
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:93)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)
    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152)
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213)
    at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195)
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:194)
    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:741)
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:863)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510)
    Caused by: java.lang.NoClassDefFoundError: org.example.www.Sample_PortType
    at java.lang.J9VMInternals.verifyImpl(Native Method)
    at java.lang.J9VMInternals.verify(J9VMInternals.java:59)
    at java.lang.J9VMInternals.initialize(J9VMInternals.java:120)
    at java.lang.Class.newInstanceImpl(Native Method)
    at java.lang.Class.newInstance(Class.java:1263)
    at java.beans.Beans.instantiate(Beans.java:219)
    at java.beans.Beans.instantiate(Beans.java:63)
    at com.sun.faces.config.ManagedBeanFactory.newInstance(ManagedBeanFactory.java:226)
    at com.sun.faces.application.ApplicationAssociate.createAndMaybeStoreManagedBeans(ApplicationAssociate.java:291)
    at com.sun.faces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:81)
    at com.sun.faces.el.impl.NamedValue.evaluate(NamedValue.java:125)
    at com.sun.faces.el.impl.ComplexValue.evaluate(ComplexValue.java:146)
    at com.sun.faces.el.impl.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:249)
    at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:140)
    Thanks in advance ..
    Steve Bob

    No you haven't, because
    Caused by: java.lang.NoClassDefFoundError: org.example.www.Sample_PortType a relevant class can still not be found and Java really is not going to lie to you; this class is not on your application's classpath so it is either missing or put in the wrong place. Note that missing classes can be caused by you forgetting to properly redeploying your application - its usually something silly like that. Figure out what you did wrong and correct your mistake.
    The fact that you have to mention that you "setup the classpath" is questionable; in web applications you don't touch the classpath at all. So what exactly did you do?

  • To add components in JSF page from backing bean

    I am trying to display list of available files under a directory using HtmlSelectOneMenu. In constructor of backing bean i have the following code
    directory = new File("C:\\files");
        files = directory.list();
        String[] fileList = this.getFiles();
        List valueList = new ArrayList();
        for (int i=0; i < fileList.length; i++) {
            SelectItem item = new SelectItem(fileList);
    valueList.add(item);
    UISelectItems items = new UISelectItems();
    items.setId("items"+sessionVariable);
    items.setValue(valueList);
    listbox = new HtmlSelectOneMenu();
    listbox.setId("listbox"+sessionVariable);
    listbox.getChildren().add(items);
    getPanelGrid1().getChildren().add(listbox);
    and my jsf looks like this <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <%@ page contentType="text/html;charset=windows-1252"%>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <f:view>
    <html>
    <head>
    <meta http-equiv="Content-Type"
    content="text/html; charset=windows-1252"/>
    <title>Employee</title>
    <link type="text/css" rel="stylesheet" href="resources.css"/>
    <style type="text/css">
    body {
    background-color: #ffffff;
    a:link { color: #000000; }
    </style>
    </head>
    <body><h:form binding="#{backing_SampleEdit.form1}" id="form1">
    <h:panelGrid columns="2" binding="#{backing_SampleEdit.panelGrid1}"
    id="panelGrid1" >
    <h:outputLabel value="Template Name"
    binding="#{backing_SampleEdit.outputLabel1}"
    id="outputLabel1"/>
    </h:panelGrid>
    </h:form></body>
    </html>
    </f:view>
    <%-- oracle-jdev-comment:auto-binding-backing-bean-name:backing_SampleEdit--%>
    I am getting an exception like "Cant instantiate the class exception"..
    please help me out in this..                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    The Stacktrace looks like this
    SEVERE: Managedbean backing_SampleEdit could not be created Can't instantiate class: 'com.backing.SampleEdit'.. class com.backing.SampleEdit : java.lang.NullPointerException
    javax.faces.FacesException: Can't instantiate class: 'com.backing.SampleEdit'.. class com.backing.SampleEdit : java.lang.NullPointerException
         at com.sun.faces.config.ManagedBeanFactory.newInstance(ManagedBeanFactory.java:229)
         at com.sun.faces.application.ApplicationAssociate.createAndMaybeStoreManagedBeans(ApplicationAssociate.java:282)
         at com.sun.faces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:97)
         at com.sun.faces.el.impl.NamedValue.evaluate(NamedValue.java:145)
         at com.sun.faces.el.impl.ComplexValue.evaluate(ComplexValue.java:166)
         at com.sun.faces.el.impl.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263)
         at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:160)
         at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:143)
         at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:406)
         at javax.faces.webapp.UIComponentTag.createComponent(UIComponentTag.java:1019)
         at javax.faces.webapp.UIComponentTag.createChild(UIComponentTag.java:1046)
         at javax.faces.webapp.UIComponentTag.findComponent(UIComponentTag.java:761)
         at javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:451)
         at com.sun.faces.taglib.html_basic.FormTag.doStartTag(FormTag.java:345)
         at SampleEdit.jspService(_SampleEdit.java:60)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
         at com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:259)
         at com.evermind.server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:51)
         at com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:193)
    Caused by: java.lang.ClassNotFoundException: class com.backing.SampleEdit : java.lang.NullPointerException
         at java.beans.Beans.instantiate(Beans.java:208)
         at java.beans.Beans.instantiate(Beans.java:48)
         at com.sun.faces.config.ManagedBeanFactory.newInstance(ManagedBeanFactory.java:223)
         ... 45 more
    Caused by: java.lang.NullPointerException
         at com.backing.SampleEdit.<init>(SampleEdit.java:53)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
         at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
         at java.lang.Class.newInstance0(Class.java:350)
         at java.lang.Class.newInstance(Class.java:303)
         at java.beans.Beans.instantiate(Beans.java:204)
         ... 47 more

  • @EJB annotation in JSF managed beans not working

    Hi all,
    I've been trying to get the @EJB annotation to work in a JSF manged bean without success.
    The EJB interface is extremely simple:
    package model;
    import javax.ejb.Local;
    @Local
    public interface myEJBLocal {
    String getHelloWorld();
    void setHelloWorld(String helloWorld);
    and the bean code is simply:
    package model;
    import javax.ejb.Stateless;
    @Stateless
    public class myEJBBean implements myEJBLocal {
    public String helloWorld;
    public myEJBBean() {
    setHelloWorld("Hello World from myEJBBean!");
    public String getHelloWorld() {
    return helloWorld;
    public void setHelloWorld(String helloWorld) {
    this.helloWorld = helloWorld;
    When I try to use the above EJB in a managed bean, I only get a NullPointerException when oc4j tries to instantiate my managed bean. The managed bean looks like:
    package view.backing;
    import javax.ejb.EJB;
    import model.myEJBLocal;
    import model.myEJBBean;
    public class Hello {
    @EJB
    private static myEJBLocal myBean;
    private String helloWorld;
    private String helloWorldFromBean;
    public Hello() {
    helloWorld = "Hello from view.backing.Hello!";
    helloWorldFromBean = myBean.getHelloWorld();
    public String getHelloWorld() {
    return helloWorld;
    public void setHelloWorld(String helloWorld) {
    this.helloWorld = helloWorld;
    public String getHelloWorldFromBean() {
    return helloWorldFromBean;
    Am I missing something fundamentally here? Aren't you supposed to be able to use an EJB from a JSF managed bean?
    Thanks,
    Erik

    Well, the more I research this issue, the more confused I get. There have been a couple of threads discussing this already, and in this one Debu Panda states that:
    "Support of injection in JSF managed bean is part of JSF 1.1 and OC4J 10.1.3.1 does not support JSF 1.1"
    10.1.3.1 Looking up a session EJB with DI from the Web tier
    But if you look in the release notes for Oracle Application Server 10g R3, it is explicitly stated that JSF 1.1. is supported. So I'm not sure what to believe.
    I've also tried changing the version in web.xml as described here:
    http://forums.java.net/jive/thread.jspa?threadID=2117
    but that didn't help either.
    I've filed a SR on Metalink for this, but haven't got any response yet.
    Regards,
    Erik

  • Manipulate a payload inside a JSF Managed Bean

    Hello guys,
    Does someone know how can I consume programatically a human task payload inside a JSF Managed Bean?
    Let we say that I need to extract some information from a payload to consume a service... After that, depending on the result, I update the payload with some data from the service to show to the user. Is that possible?
    Any help would be greatly appreciated.
    Thanks guys!!!

    Out of the box now? No. Could something be added? I'm not sure it can.
    Best bet, in my opinion, are code reviews. :)

  • JSF managed beans and xmlbeans

    Hi,
    I am having a jsf application,where I get data from a back end configuration service,which returns data in the form of xml,for which we already have compiled xmlbeans.At our side we recieve the response and parse it to get back the response.My question is- Is it advisable to use these xmlbeans within the jsf managed beans,or do we need to create pojos from the xmlbeans,before sending them to mbeans.Why I am asking such a question is-xmlbeans have a tight coupling with the backend
    Thanks
    -Bibin

    I would suggest have pojo's. Below are my points
    1) You man not need everything from the XMLBean always. Most of the times, you may need very little from the XMLBean. You can transfer the required information to the POJO. This would also save you from network overhead in case the backend is running on a separate machine.
    2) Any changes to the backend code will not have any impact on your UI code.

  • JSF managed beans Vs Enterprise beans

    Hi friends,
    what are the advantages/disadvantages of using enterprise beans/ JSF managed beans over JSF managed beans/Enterprise beans
    regards
    san

    The primary difference between managed bean and enterprise bean is : enterprise bean will avail all the services provided by EJB container. where as managed bean cant avail all these.

  • Problems integrating JSF managed bean with Session EJB with JDeveloper

    HI All,
    I am developeing a JSF-EJB application using Jdeveloper11g. On deploying the application I am getting the following errors on deployment.
    <19/08/2010 2:53:49 PM EST> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID '1282193629318' for task '17'. Error is: 'weblogic.application.ModuleException: Could not setup environment'
    weblogic.application.ModuleException: Could not setup environment
         at weblogic.servlet.internal.WebAppModule.activateContexts(WebAppModule.java:1499)
         at weblogic.servlet.internal.WebAppModule.activate(WebAppModule.java:442)
         at weblogic.application.internal.flow.ModuleStateDriver$2.next(ModuleStateDriver.java:375)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
         at weblogic.application.internal.flow.ModuleStateDriver.activate(ModuleStateDriver.java:95)
         Truncated. see log file for complete stacktrace
    Caused By: weblogic.deployment.EnvironmentException: [J2EE:160101]Error: The ejb-link 'MetaDataBean' declared in the ejb-ref or ejb-local-ref 'MetaData' in the application module 'ViewControllerWebApp.war' could not be resolved. The target EJB for the ejb-ref could not be found. Please ensure the link is correct.
         at weblogic.deployment.BaseEnvironmentBuilder.addEJBLinkRef(BaseEnvironmentBuilder.java:453)
         at weblogic.deployment.EnvironmentBuilder.addEJBReferences(EnvironmentBuilder.java:485)
         at weblogic.servlet.internal.CompEnv.activate(CompEnv.java:157)
         at weblogic.servlet.internal.WebAppServletContext.activate(WebAppServletContext.java:3117)
         at weblogic.servlet.internal.WebAppModule.activateContexts(WebAppModule.java:1497)
         Truncated. see log file for complete stacktrace
    >
    <19/08/2010 2:53:49 PM EST> <Error> <Deployer> <BEA-149202> <Encountered an exception while attempting to commit the 1 task for the application 'data-catalog'.>
    <19/08/2010 2:53:49 PM EST> <Warning> <Deployer> <BEA-149004> <Failures were detected while initiating deploy task for application 'data-catalog'.>
    <19/08/2010 2:53:49 PM EST> <Warning> <Deployer> <BEA-149078> <Stack trace for message 149004
    weblogic.application.ModuleException: Could not setup environment
         at weblogic.servlet.internal.WebAppModule.activateContexts(WebAppModule.java:1499)
         at weblogic.servlet.internal.WebAppModule.activate(WebAppModule.java:442)
         at weblogic.application.internal.flow.ModuleStateDriver$2.next(ModuleStateDriver.java:375)
         at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
         at weblogic.application.internal.flow.ModuleStateDriver.activate(ModuleStateDriver.java:95)
         Truncated. see log file for complete stacktrace
    Caused By: weblogic.deployment.EnvironmentException: [J2EE:160101]Error: The ejb-link 'MetaDataBean' declared in the ejb-ref or ejb-local-ref 'MetaData' in the application module 'ViewControllerWebApp.war' could not be resolved. The target EJB for the ejb-ref could not be found. Please ensure the link is correct.
         at weblogic.deployment.BaseEnvironmentBuilder.addEJBLinkRef(BaseEnvironmentBuilder.java:453)
         at weblogic.deployment.EnvironmentBuilder.addEJBReferences(EnvironmentBuilder.java:485)
         at weblogic.servlet.internal.CompEnv.activate(CompEnv.java:157)
         at weblogic.servlet.internal.WebAppServletContext.activate(WebAppServletContext.java:3117)
         at weblogic.servlet.internal.WebAppModule.activateContexts(WebAppModule.java:1497)
         Truncated. see log file for complete stacktrace
    Thanks
    Edited by: user5108636 on 18/08/2010 22:46

    Please find attached the source code of JSF managed bean, local business interface, session bean and web.xml
    MANAGED BEAN_
    package view.backing;
    import java.util.List;
    import javax.ejb.EJB;
    import javax.faces.component.UISelectItems;
    import javax.faces.component.html.HtmlSelectManyListbox;
    import model.ejb.session.MetaDataBean;
    public class SearchMetaDataBean {
    @EJB MetaDataBean metaDataService;
    private List<String> tables;
    private List<String> columns;
    private HtmlSelectManyListbox selectManyListbox1;
    private UISelectItems selectItems1;
    public void setTables(List<String> tables) {
    this.tables = tables;
    public List<String> getTables() {
    return metaDataService.getTables();
    public void setColumns(List<String> columns) {
    this.columns = columns;
    public List<String> getColumns() {
    return columns;
    public void setSelectManyListbox1(HtmlSelectManyListbox selectManyListbox1) {
    this.selectManyListbox1 = selectManyListbox1;
    public HtmlSelectManyListbox getSelectManyListbox1() {
    return selectManyListbox1;
    public void setSelectItems1(UISelectItems selectItems1) {
    this.selectItems1 = selectItems1;
    public UISelectItems getSelectItems1() {
    return selectItems1;
    LOCAL INTERFACE_
    package model.ejb.session;
    import java.util.List;
    import javax.ejb.Local;
    @Local
    public interface MetaDataLocal {
    public List<String> getTables();
    public List<String> getColumns(String tableName);
    SESSION BEAN_
    package model.ejb.session;
    import javax.ejb.Local;
    import java.sql.Connection;
    import java.sql.DatabaseMetaData;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    import javax.annotation.PostConstruct;
    import javax.annotation.Resource;
    import javax.ejb.Stateless;
    import javax.sql.DataSource;
    @Stateless(name="MetaData")
    @Local
    public class MetaDataBean implements MetaDataLocal{
    @Resource(name="jdbc/DWDS")
    private DataSource dataSource;
    private Connection connection;
    private List<String> tables = new ArrayList<String>();
    private List<String> columns = new ArrayList<String>();
    private DatabaseMetaData dmd;
    @PostConstruct
    public void initialize(){
    try{
    connection = dataSource.getConnection();
    DatabaseMetaData dmd;
    dmd = connection.getMetaData();
    }catch(SQLException sqle){
    sqle.printStackTrace();
    public MetaDataBean() {
    public List<String> getTables(){
    try{                 
    if (dmd ==null){
    //System.out.println("Database meta data not available");
    tables.add("None");
    }else{
    ResultSet rs = dmd.getSchemas();
    ResultSet rs1 = null;
    while(rs.next()) {
    if (rs.getString(1).equalsIgnoreCase("AV_DATA")){
    rs1 = dmd.getTables(null,rs.getString(1),"%",null);
    while(rs1.next()) {
    tables.add(rs1.getString(3));
    }catch (SQLException sqle){
    sqle.printStackTrace();
    return tables;
    public List<String> getColumns(String tableName){
    try{
    ResultSet rsColumns = dmd.getColumns("", "AV_DATA", tableName, null);
    while(rsColumns.next()){
    columns.add(rsColumns.getString(4));
    }catch (SQLException sqle){
    sqle.printStackTrace();
    return columns;
    WEB.XML_
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5" xmlns="http://java.sun.com/xml/ns/javaee">
    <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <ejb-local-ref>
    <ejb-ref-name>MetaData</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <local>model.ejb.session.MetaDataLocal</local>
    <ejb-link>MetaDataBean</ejb-link>
    </ejb-local-ref>
    </web-app>
    Edited by: user5108636 on 18/08/2010 22:45
    Edited by: user5108636 on 18/08/2010 22:46

  • [HOWTO] JSF + Session Facade + Entity Bean (EJB3)

    I'm trying to find a tutorial that shows the advisable way to use JSF with EJB 3 entity beans using the Session Facade pattern (?), but the only tutorials around show very basic usage of JSF (validation, conversions etc.).
    The only thing that is close is this: http://forum.java.sun.com/thread.jspa?threadID=5122284 but still not what I'm looking for.
    Is there any documentation available out there..?
    Message was edited by:
    HakelRausd

    Hi,
    I updated the online doc in blueprints solutions catalog with a small explanation of using JSF with EJB Session Bean at https://blueprints.dev.java.net/bpcatalog/ee5/persistence/ejbfacade.html
    I will add an image soon too. The basic idea for JSF and EJB3 programming model is
    JSF Page --> JSF Managed Bean(backing bean) --> Session Bean --> Java Persistence Object.
    In general, ther would be several JSF pages,and several JSF Managed Beans, and several Java Persistence Objects, but fewer Session Beans. The Session Bean would be expected to be shared and accessed by several managed beans with with Session Bean serving as a facade to the Java Persistence Objects, so there would be few Session Beans.
    The Session Bean would usually be a local Session bean and would only be remote if-and-only-if you wanted RMI-IIOP access. Usually web components like Servlets and JSF Managed Beans use local access to the Session Beans and the access is within the same VM, no remoteness.
    Most of the time, the Session Bean would be a Stateless Session Bean, and would not be a Stateful Session Bean.
    hth,
    Sean

  • Container Managed Persistence entity bean relationship fields

    I want to ask something that until now still confuse. Did Relationship fields in Container Managed Persistence entity beans declare , inside Database table or only Persistence fields .
    If Relationship fields not declare inside database table ,how if SQL calls the relationship fields between related entity bean.
    did container handle this task.
    example: I have 2 entity bean with CMP(Container Managed Persistence)version 2.0
    call Player and Team. every entity bean have own relationship fields and persistence fields.
    player has playerId(primary key),name,position,age persistence fields and teams is relationship fields.
    team has teamId(primary key),name,city and players is relationship fields.
    I know that all persistence fields is declare in own database table but how about relationship fields.
    can you tellme, How SQL calls can access relationship fields if relatiosnship fields is not declare in database table.
    I use J2EE RI SDK version 1.3
    and deploytool .
    thank's .

    thank's for your reply .Now I have another problem
    I use J2EE RI from java.sun .I try to follow example in j2eetutorial about CMP Example call RosterApp.ear .
    I dont'change anything code inside RosterApp.ear but when I deploy and runclient command thereis syntax error :
    java.rmi.ServerException: Remote exception occured in server thread :nested exception is java.rmi.ServerException :exception thrown from bean :nested exception is : java.ejb.EJBException :nested exception is :java.sql.SQLException :syntax error or access violation ,message from server: "you have an error in SQL syntax near "
    "leagueBeanTable" WHERE "leagueId" = 'L1' at line 1
    in example ,RosterApp.ear use Cloudscape database ,but I try to use Mysql database for RosterApp.ear ,is there any different syntax SQL from Cloudscape to Mysql .
    if like that ,so I must edit first SQL calls from Cloudscape to MYSQL . I think because relationship fields is for entity beans only ,so how if mysql database want to access foreign key another table because foreign key isn't declare in databse table.
    example : I have 3 entity bean call player, team, league .
    1. PlayerEJB have persistence fields name, position, playerId(primary key), cmr fields is teams
    2. TeamEJB have persistence fields name, city, teamId (primary key) , cmr fields is players and leagues .
    3. LeagueEJB have persistence fields name ,sport, leagueId(primary key), cmr fields is teams
    so table is
    PlayerEJB <--->TeamEJB<--->LeagueEJB
    Player have some finder method call findBySport(String Sport) .
    because Sport is persistence fields for LeagueEJB
    so PlayerEJB must traverse TeamEJB first before LeagueEJB
    EJB QL : SELECT distinct object(p) FROM Player (p) IN (p.teams) AS t
    WHERE t.league.sport = ?1
    I know that Container will translates EJB QL to SQL calls ,but default is only for cloudscape database and I use for MYsql .
    so can you helpme how to query method findBySport(String sport) to Mysql calls .
    thereis no foreign key between table in database table there is only Relationship fields in entity bean.

  • How to get the current JSF phase in backing bean?

    How to get the current JSF phase in backing bean?
    Edited by: jimmy6 on Nov 27, 2007 7:27 AM

    I am using phasetracker to trace it also.I want to know whether it is it render response phase. I know FacesContext.getCurrentInstance().getRenderResponse() work for normal jsf component but it will not work for qiupukit datatable. FacesContext.getCurrentInstance().getRenderResponse() will not return true in the following phase. Why?
    [ INFO] 27-11-07 16:20:21 : BEFORE RENDER_RESPONSE(6) (http-80-Processor23)
    I want the 'get' method of datatable being called in response phase to reduce the number of calling because i put the query in 'get' method there. Actually i still straggling with the best practice to code the datatable...

  • Help me pls to resolve the problem: WebService client SOAP exception: SAXException: Could not instantiate bean ...

    Hi all,
    I use Weblogic 6.1 SOAP
    If any body know what does this mean and how this may be resolved please
    help me
    I try to send JavaBean class "A" which includes an array of JavaBean class
    "B" which includes an array of string objects
    from server side to the client.
    class A {
    B[] aBeans
    setABeans(B[] aBeans) {}
    getABeans() {}
    class B {
    String[] props;
    setProps(String[] props) {}
    getProps() {}
    And only half of the method invocation is ok - data is transmitted by soap
    and is displayed
    at the client side in "verbose=true" mode and i see that data is received
    completely but the client side JavaBean class "A"
    was not initialized because the exception was thrown when soap trying to
    instantiate JavaBean class "B":
    SAXException: Could not instantiate bean: B
    I looked at jdk API and the InstantiationException is thrown only if class
    is an interface or an abstract class,
    but class "B" is not abstract or interface, it is simple JavaBean class.
    What is the trouble?
    Help me pls

    Hi, Pieter!
    Thanks in advance, this solve a problem.
    "Pieter Degraeuwe" <[email protected]> wrote in message
    news:3be00299$[email protected]..
    >
    Hi!
    I think I know the problem.
    Does your JavaBean has a default constructor (a parameterlessconstructor).
    >
    Try it!
    greetings
    Pieter
    "Michael T" <[email protected]> wrote:
    Hi all,
    I use Weblogic 6.1 SOAP
    If any body know what does this mean and how this may be resolved please
    help me
    I try to send JavaBean class "A" which includes an array of JavaBean
    class
    "B" which includes an array of string objects
    from server side to the client.
    class A {
    B[] aBeans
    setABeans(B[] aBeans) {}
    getABeans() {}
    class B {
    String[] props;
    setProps(String[] props) {}
    getProps() {}
    And only half of the method invocation is ok - data is transmitted by
    soap
    and is displayed
    at the client side in "verbose=true" mode and i see that data is received
    completely but the client side JavaBean class "A"
    was not initialized because the exception was thrown when soap trying
    to
    instantiate JavaBean class "B":
    SAXException: Could not instantiate bean: B
    I looked at jdk API and the InstantiationException is thrown only if
    class
    is an interface or an abstract class,
    but class "B" is not abstract or interface, it is simple JavaBean class.
    What is the trouble?
    Help me pls

  • About Container-managed Transactions and Bean-managed Transactions

    as the document of weblogic7.0 describe the differents of Container-managed
              Transactions and Bean-managed Transactions,and in the document,It tell us
              details of using Bean-managed Transactions,such as \:
              import javax.naming.*;import javax.transaction.UserTransaction;.....
              import java.sql.*;import java.util.*;
              UserTransaction tx = (UserTransaction)
              ctx.lookup("javax.transaction.UserTransaction");tx.begin();
              tx.commit() //or tx.rollback
              but how to use Container-managed Transactions?
              what is EJB's deployment descriptor? can someone tell me?
              i wonder someone will show me an example of how to use Container-managed
              Transactions.
              thanks
              fish
              

    Many if not all of the WLS EJB examples use container-managed
              transactions. That's a good place to start.
              I'd also recommend that you pick up a decent EJB book. There's several
              on the market right now.
              -- Rob
              fish wrote:
              > <ejb-jar>
              > <enterprise-beans>
              > <session>
              > <ejb-name>testbean</ejb-name>
              > <home>test.test.TestHome</home>
              > <remote>test.test.Test</remote>
              > <ejb-class>test.test.TestBean</ejb-class>
              > <session-type>Stateful</session-type>
              > <transaction-type>Container</transaction-type>
              > </session>
              > </enterprise-beans>
              >
              > <assembly-descriptor>
              > <container-transaction>
              > <method>
              > <ejb-name>EmployeeRecord</ejb-name>
              > <method-name>*</method-name>
              > </method>
              > <trans-attribute>Required</trans-attribute>
              > </container-transaction>
              > </assembly-descriptor>
              > </ejb-jar>
              > ----------------------------------------------
              > seems i have to write ejb-jar.xml like this,am i right?
              > what about <ejb-client-jar>? is it needed in this xml file?
              >
              > thanks
              >
              > fish
              >
              >
              

  • Container-managed persistence Entity bean

    WE use a container-managed persistence Entity bean. To handle the state synchronization between the object & the database, what must WE do?
    Thanks in Advance

    That's the container's job. You can use the commit option A/B/C to control how the DB and objects are synchronized.
    -Scott
    http://www.swiftradius.com

  • JSF CDI : Conversation scope bean[s] best practice

    *JSF CDI : Conversation scope bean[s] best practice*
    Hello, im currently learning about JSF 2.0 and im so glad for the existence of this conversation scope feature, which is very helpful in opening a new tab or a new window on the same page and having separate resources, not overriding one another.
    But im curious on how to implement this in a good way, about when to start the conversation and when to close it.
    In my case, i have each CDI bean for each JSF page. And let's say that i have a menu, and when it's clicked, this will lead to page A, and from A, could lead to B, B could lead to C, C could lead to D, all these 4 pages are connected in one chain.
    Accessing A's bean properties from B or C or D beans is possible, accessing B's properties is also possible from C or D beans and so forth.
    Now im quite confused about :
    * whether all these A B C D should be in conversation scope or not, or perhaps just A ? Because i think sometimes from another page that is outside the ABCD chain, like a page F, it could navigate to page B, although i dont know how to supply the data to the bean B yet.
    * whether all these A B C D should be combined into one bean
    * where and when to start the conversation, im thinking about the constructor, but i dont think it's a good idea, because i prefer starting the conversation when first accessing the page, not the bean
    * where and when to stop the conversation, so that there wont be unused resources hanging around
    Regards,
    Albert Kam

    There are also some commandButtons on the view page, which performs actions on Product object, fetched by passed ID.

Maybe you are looking for

  • Issue with Lion OSX and Samsung HDTV

    Hi everyone, I have a problem while connecting my Samsung HDTV model LNT3242HX with my Mac ever since I upgraded to Lion (I was previously on Snow Leopard). I'm using a  Macbook 2.13 GHZ Intel Core 2 Duo (Mid 2009). I use the Mini DVI to VGA cable an

  • How do I play MPEG-4 (.MP4) files smoothly on QT 7.0.3?

    Since upgrading to QT Player 7.0.3 and tiger (10.4.3), none of my MP4 (AAC) files play smoothly on QT. Both the audio and video play with intermittent jerks. Playback in VLT is fine, and playback in QT 6.x was not problematic. I have reinstalled QT 7

  • Cannot determine all dependent dynamic libraries for /proc/self/exe

    Each time I start Oracle XE i writes this entry in the alert log as the first thing: Wed Jun 14 23:45:45 2006 Starting ORACLE instance (normal) Cannot determine all dependent dynamic libraries for /proc/self/exe The open() system call failed for the

  • Loaded Mac OSX 10.9.4, iPhoto and all pictures erased?

    I updated my MacBook, now I cannot find iPhoto any more. I also cannot find my pictures. I have erased them from camera and iPhone as well, becouse they were here in MacBook. How can I get them back? This kind of thing should not happen in Mac?

  • Missing EXIF data after editing picture

    Hi, I've noticed that PSE 12 editor no longer writes the EXIF data from the original image. I believe this started after upgrading to the most recent version of PSE 12 via Help -> Updates Do you have any suggestions? Regards, Mike Before: After: