Find all beans referenced on a JSF page for PhaseListener

I am trying to implement a PhaseListener to do some application specific stuff just before the render response phase. I am trying to find all of the managed beans referenced in the currently executing JSF page. So for example, if I had this in a page:
<h:selectOneListBox id="foo" value="#{foo.bar}">
  <f:selectItems value="#{bazz.list}"/>
</h:selectOneListBox>I would want to be able to locate both the beans "foo" and "bazz" (both are managed beans) inside the PhaseListener without using their names (unless I can first discover all the names referenced on the page).
Basically, I am looking for a generic way to process all managed beans that are used on a page just before the response is rendered.. Anyone have any ideas on this?

Do something likepublic class MyPhaseListener implements PhaseListener {
    public void beforePhase(PhaseEvent event) {
        // Do nothing.
    public void afterPhase(PhaseEvent event) {
        List children = (List) ((ArrayList) event.getFacesContext().getViewRoot().getChildren()).clone();
        List bindings = new ArrayList();
        for (Iterator iter = children.iterator(); iter.hasNext();) {
            UIComponent component = (UIComponent) iter.next();
            children.addAll(component.getChildren());
            ValueBinding binding = component.getValueBinding("value"); // Get the "value" attribute.
            if (binding != null) {
                bindings.add(binding.getExpressionString()); // Get the EL string, eg. #{myBean.value}.
        // Do your thing with the bindings.
    public PhaseId getPhaseId() {
        return PhaseId.RENDER_RESPONSE;
}

Similar Messages

  • Finding Soln. to initialise total number of pages for new production order

    Hi Experts,
    My internal table has details of Production Order which has to be printed in a smartform. The page numbers has to be initialised i.e both SFSY-PAGEand SFSY-FORMPAGES each time when it prints a new production Order.
    Example :
    Say Production Order 1 is populating in 4 Pages it should display
    1 of 4
    2 of 4
    3 of 4
    4 of 4
    and for the 2nd Production Order say it Occupies 2 pages page number should be initialized and displayed as
    1 of 2
    2 of 2
    One solution i found is having the smartform inside a loop and passing details of one production order at a time but i dont want to use it as i might be lead to performance issue.
    Kindly suggest me a Solution where i passed my internal table once to the smartform and get the output.

    Hi Experts,
    My internal table has details of Production Order which has to be printed in a smartform. The page numbers has to be initialised i.e both SFSY-PAGEand SFSY-FORMPAGES each time when it prints a new production Order.
    Example :
    Say Production Order 1 is populating in 4 Pages it should display
    1 of 4
    2 of 4
    3 of 4
    4 of 4
    and for the 2nd Production Order say it Occupies 2 pages page number should be initialized and displayed as
    1 of 2
    2 of 2
    One solution i found is having the smartform inside a loop and passing details of one production order at a time but i dont want to use it as i might be lead to performance issue.
    Kindly suggest me a Solution where i passed my internal table once to the smartform and get the output.

  • How to set bean property in jsf page

    Hi,
    Hopefully theres an easy solution, but I can't figure it out...
    I have a managed bean that spans several jsf pages.
    Within each page I want to set a flag that tells the bean which page it is serving (as well as some other params).
    How do I set a property of the bean in the page?
    I've tried
    <jsp:useBean id="filter3" scope="request" class="com.aol.rsistats.ui.FilterBean"/>
    <jsp:setProperty name="filter3" property="filterType" value="3"/>
    but that doesn't load the page through the normal JSF routine (and I initialise some values of the bean in the faces-config.xml file... so these are not initialiased when the setProperty is called) .
    (In general I get some strange behaviour when I mix jsf tags with jsp, or jstl, so I've avoided it as much as possilble)
    Is there another way?
    Cheers,
    Keith

    This example works for me (using jsf-1_1_01).
    Index.jsf:
    <%@ page contentType="text/html; charset=UTF-8" %>
    <%@ page language="java" %>
    <%-- jakarta-taglibs-standard-1.0 --%>
    <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
    <%--
    Note, that with jakarta-taglibs-standard-1.1.1 taglib directive
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    the example NOT works!!!
    --%>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    <html>
    <head>
    <title>MyTitle</title>
    </head>
    <body>
    <f:view>
    <%--
    Do not delete the following lines! You need to address to WIManager before using c:set.
    --%>
    <!--
    <h:outputText value="#{WIManager != null}"/>
    -->
    <c:set target="${requestScope.WIManager}" property="bpId" value="bpIdValue"/>
    <h:form id="MyWebFormTask" >
    <h:commandButton id="ok" action="ok" value="Ok"/>
    <h:inputHidden id="bpId" value="#{WIManager.bpId}"/>
    </h:form>
    </f:view>
    </body>
    </html>
    ok.jsf:
    <%@ page contentType="text/html; charset=UTF-8" %>
    <%@ page language="java" %>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    <html>
    <head>
    <title>MyTitle</title>
    </head>
    <body>
    <f:view>
    WIManager.bpId: {<h:outputText value="#{WIManager.bpId}"/>}<br>
    </f:view>
    </body>
    </html>
    In ok.jsf I can see WIManager.bpId property set in Index.jsf.
    faces-config.xml:
    <managed-bean>
    <managed-bean-name>WIManager</managed-bean-name>
    <managed-bean-class>my.package.WIManagerBean</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
    <managed-property>
    <property-name>bpId</property-name>
    <property-class>java.lang.String</property-class>
    <value>#{param.wim_bpid}</value>
    </managed-property>
    </managed-bean>
    Resume:
    -- use <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
    instead of <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    -- address to WIManager before using c:set.

  • Problem with Non JSF Request to JSF Page

    Hi All,
    I am working on dynamic controls generation based on the request come from non jsf page
    For the first request, pageworks perfectly. but when we go for second request, it is not rendering and I am getting same old page.
    What I have identified is if I have 2 pages as JSF, application is not giving any problem.
    For this I have written small test application contains both JSF pages only.
    page1 contains 3 submit buttons.
    When submit buttons are clicked based on the request, I get, am able to see the dynamic controls.
    SO there is no problem with JSF PAGE to JSF Page Communication
    Now I have done some changes in First JSF page. Instead of submitting directly I am submitting the page through JavaScript which is nonb JSF request. There I am facing the problem and based on requested qaction I am not able to see correct rendered page based on the requested action.
    Any Idea why it is giving problem for non JSF requests??
    Thanks
    Sudhakar

    For Your Convenience in understanding the problem
    I am pasting entire test code
    Page 1 -- (here page2 is Page1 and Page1 is page2 - some naming convention errors :) )
    <?xml version="1.0" encoding="UTF-8"?>
    <jsp:root version="1.2" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:jsp="http://java.sun.com/JSP/Page">
        <jsp:directive.page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"/>
        <jsp:text><![CDATA[
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    ]]></jsp:text>
        <f:view>
            <html lang="en-US" xml:lang="en-US">
                <head>
                    <meta content="no-cache" http-equiv="Cache-Control"/>
                    <meta content="no-cache" http-equiv="Pragma"/>
                    <title>Page2 Title</title>
                    <link href="resources/stylesheet.css" rel="stylesheet" type="text/css"/>
                </head>
                <body style="-rave-layout: grid">
                    <h:form binding="#{Page2.form1}" id="form1">
    <!-- Non JSF REquests -->
                        <h:commandButton action="#{Page2.button1_action}" binding="#{Page2.button1}" id="button1" style="left: 48px; top: 48px; position: absolute" value="Submit" onclick="document.forms['form1'].action='faces/Page2.jsp?id=1'; document.forms['form1'].submit(); return false;"/>
                        <h:commandButton action="#{Page2.button2_action}" binding="#{Page2.button2}" id="button2" style="left: 48px; top: 96px; position: absolute" value="Submit" onclick="document.forms['form1'].action='faces/Page2.jsp?id=2'; document.forms['form1'].submit(); return false;"/>
                        <h:commandButton action="#{Page2.button3_action}" binding="#{Page2.button3}" id="button3" style="left: 48px; top: 144px; position: absolute" value="Submit" onclick="document.forms['form1'].action='faces/Page2.jsp?id=3'; document.forms['form1'].submit(); return false;"/>
    <!-- this  is JSF request -->
                        <!--
                        <h:commandButton action="#{Page2.button1_action}" binding="#{Page2.button1}" id="button1" style="left: 48px; top: 48px; position: absolute" value="Submit" />
                        <h:commandButton action="#{Page2.button2_action}" binding="#{Page2.button2}" id="button2" style="left: 48px; top: 96px; position: absolute" value="Submit" />
                        <h:commandButton action="#{Page2.button3_action}" binding="#{Page2.button3}" id="button3" style="left: 48px; top: 144px; position: absolute" value="Submit" />-->
                    </h:form>
                </body>
            </html>
        </f:view>
    </jsp:root>Page1 Bean
    * Page2.java
    * Created on June 25, 2005, 11:08 AM
    * Copyright user
    package webapplication8;
    import javax.faces.*;
    import com.sun.jsfcl.app.*;
    import javax.faces.component.html.*;
    import javax.faces.context.ExternalContext;
    import javax.faces.context.FacesContext;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    public class Page2 extends AbstractPageBean {
        // <editor-fold defaultstate="collapsed" desc="Creator-managed Component Definition">
        private int __placeholder;
        private HtmlForm form1 = new HtmlForm();
        public HtmlForm getForm1() {
            return form1;
        public void setForm1(HtmlForm hf) {
            this.form1 = hf;
        private HtmlCommandButton button1 = new HtmlCommandButton();
        public HtmlCommandButton getButton1() {
            return button1;
        public void setButton1(HtmlCommandButton hcb) {
            this.button1 = hcb;
        private HtmlCommandButton button2 = new HtmlCommandButton();
        public HtmlCommandButton getButton2() {
            return button2;
        public void setButton2(HtmlCommandButton hcb) {
            this.button2 = hcb;
        private HtmlCommandButton button3 = new HtmlCommandButton();
        public HtmlCommandButton getButton3() {
            return button3;
        public void setButton3(HtmlCommandButton hcb) {
            this.button3 = hcb;
        // </editor-fold>
        public Page2() {
            // <editor-fold defaultstate="collapsed" desc="Creator-managed Component Initialization">
            try {
            } catch (Exception e) {
                log("Page2 Initialization Failure", e);
                throw e instanceof javax.faces.FacesException ? (FacesException) e: new FacesException(e);
            // </editor-fold>
            // Additional user provided initialization code
        protected webapplication8.ApplicationBean1 getApplicationBean1() {
            return (webapplication8.ApplicationBean1)getBean("ApplicationBean1");
        protected webapplication8.SessionBean1 getSessionBean1() {
            return (webapplication8.SessionBean1)getBean("SessionBean1");
         * Bean cleanup.
        protected void afterRenderResponse() {
        public String button1_action()  throws Exception{
            // TODO Following code was replaced by static navigation
           getSessionBean1().setId(1);       
          /* ExternalContext ctx=(ExternalContext)FacesContext.getCurrentInstance().getExternalContext();
           HttpServletRequest req=(HttpServletRequest)ctx.getRequest();
           HttpServletResponse res=(HttpServletResponse)ctx.getResponse();
           res.sendRedirect("http://localhost:18080/webapplication8/faces/Page2.jsp");
           return null;*/
            return "case1";
        public String button2_action()  throws Exception{
            // TODO Following code was replaced by static navigation
                getSessionBean1().setId(2);
          /*  ExternalContext ctx=(ExternalContext)FacesContext.getCurrentInstance().getExternalContext();
           HttpServletRequest req=(HttpServletRequest)ctx.getRequest();
           HttpServletResponse res=(HttpServletResponse)ctx.getResponse();
           res.sendRedirect("http://localhost:18080/webapplication8/faces/Page2.jsp");
           return null;*/
            return "case2";
        public String button3_action() throws Exception{
            // TODO Following code was replaced by static navigation
                getSessionBean1().setId(3);
            /*    ExternalContext ctx=(ExternalContext)FacesContext.getCurrentInstance().getExternalContext();
           HttpServletRequest req=(HttpServletRequest)ctx.getRequest();
           HttpServletResponse res=(HttpServletResponse)ctx.getResponse();
           res.sendRedirect("http://localhost:18080/webapplication8/faces/Page2.jsp");
            return null;*/
            return "case3";
    }page 2
    <?xml version="1.0" encoding="UTF-8"?>
    <jsp:root version="1.2" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:jsp="http://java.sun.com/JSP/Page">
        <jsp:directive.page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"/>
        <jsp:text><![CDATA[
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    ]]></jsp:text>
        <f:view>
            <html lang="en-US" xml:lang="en-US">
                <head>
                    <meta content="no-cache" http-equiv="Cache-Control"/>
                    <meta content="no-cache" http-equiv="Pragma"/>
                    <title>Page1 Title</title>
                    <link href="resources/stylesheet.css" rel="stylesheet" type="text/css"/>
                </head>
                <body style="-rave-layout: grid">
                    <h:form binding="#{Page1.form1}" id="form1">
                        <h:panelGrid binding="#{Page1.gridPanel1}" id="gridPanel1" style="left: 96px; top: 48px; position: absolute"/>
                        <f:selectItems binding="#{Page1.radioButtonList1SelectItems1}" id="radioButtonList1SelectItems1"/>
                        <h:commandButton action="#{Page1.button1_action}" binding="#{Page1.button1}" id="button1"
                            style="left: 384px; top: 120px; position: absolute" value="Submit"/>
                        <h:commandButton action="#{Page1.button1_action}" binding="#{Page1.button1}" id="button1" style="left: 384px; top: 72px; position: absolute" value="Submit"/>
                        <h:outputLink binding="#{Page1.hyperlink1}" id="hyperlink1" style="left: 480px; top: 216px; position: absolute" value="http://www.sun.com/jscreator">
                            <h:outputText binding="#{Page1.hyperlink1Text}" id="hyperlink1Text" value="Hyperlink"/>
                        </h:outputLink>
                        <h:commandLink binding="#{Page1.linkAction1}" id="linkAction1" style="left: 456px; top: 264px; position: absolute">
                            <h:outputText binding="#{Page1.linkAction1Text}" id="linkAction1Text" value="Link Action"/>
                        </h:commandLink>
                    </h:form>
                </body>
            </html>
        </f:view>
    </jsp:root>page2 bean
    * Page1.java
    * Created on June 25, 2005, 10:52 AM
    * Copyright user
    package webapplication8;
    import javax.faces.*;
    import com.sun.jsfcl.app.*;
    import com.sun.jsfcl.data.DefaultSelectItemsArray;
    import java.util.Vector;
    import javax.faces.component.UIComponent;
    import javax.faces.component.UISelectItems;
    import javax.faces.component.html.*;
    import javax.faces.context.ExternalContext;
    import javax.faces.context.FacesContext;
    import javax.faces.el.ValueBinding;
    import javax.faces.model.SelectItem;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    public class Page1 extends AbstractPageBean {
        // <editor-fold defaultstate="collapsed" desc="Creator-managed Component Definition">
        private int __placeholder;
        private HtmlForm form1 = new HtmlForm();
        public HtmlForm getForm1() {
            return form1;
        public void setForm1(HtmlForm hf) {
            this.form1 = hf;
        private HtmlPanelGrid gridPanel1 = new HtmlPanelGrid();
        public HtmlPanelGrid getGridPanel1() {
            return gridPanel1;
        public void setGridPanel1(HtmlPanelGrid hpg) {
            this.gridPanel1 = hpg;
        private HtmlCommandButton button1 = new HtmlCommandButton();
        public HtmlCommandButton getButton1() {
            return button1;
        public void setButton1(HtmlCommandButton hcb) {
            this.button1 = hcb;
        private HtmlOutputLink hyperlink1 = new HtmlOutputLink();
        public HtmlOutputLink getHyperlink1() {
            return hyperlink1;
        public void setHyperlink1(HtmlOutputLink hol) {
            this.hyperlink1 = hol;
        private HtmlOutputText hyperlink1Text = new HtmlOutputText();
        public HtmlOutputText getHyperlink1Text() {
            return hyperlink1Text;
        public void setHyperlink1Text(HtmlOutputText hot) {
            this.hyperlink1Text = hot;
        private HtmlCommandLink linkAction1 = new HtmlCommandLink();
        public HtmlCommandLink getLinkAction1() {
            return linkAction1;
        public void setLinkAction1(HtmlCommandLink hcl) {
            this.linkAction1 = hcl;
        private HtmlOutputText linkAction1Text = new HtmlOutputText();
        public HtmlOutputText getLinkAction1Text() {
            return linkAction1Text;
        public void setLinkAction1Text(HtmlOutputText hot) {
            this.linkAction1Text = hot;
        // </editor-fold>
        public Page1() {
            // <editor-fold defaultstate="collapsed" desc="Creator-managed Component Initialization">
            try {
                ExternalContext ctx=(ExternalContext)FacesContext.getCurrentInstance().getExternalContext();
                HttpServletRequest req=(HttpServletRequest)ctx.getRequest();
                HttpServletResponse res=(HttpServletResponse)ctx.getResponse();
                String id=req.getParameter("id");
                if(id!=null)
                    getSessionBean1().setId(Integer.parseInt(id));
                if (getSessionBean1().getId()==1) {
                    addTextBox();
                else if (getSessionBean1().getId()==2) {
                    addCheckBox();
                    addRadio();
                else if (getSessionBean1().getId()==3) {
                    addRadio();
                   // addCheckBox();
            } catch (Exception e) {
                log("Page1 Initialization Failure", e);
                throw e instanceof javax.faces.FacesException ? (FacesException) e: new FacesException(e);
            // </editor-fold>
            // Additional user provided initialization code
        protected webapplication8.ApplicationBean1 getApplicationBean1() {
            return (webapplication8.ApplicationBean1)getBean("ApplicationBean1");
        protected webapplication8.SessionBean1 getSessionBean1() {
            return (webapplication8.SessionBean1)getBean("SessionBean1");
         * Bean cleanup.
        protected void afterRenderResponse() {
        private void addRadio() {
            HtmlPanelGrid gridPanel = new HtmlPanelGrid();
            UIComponent parent = gridPanel1;
            HtmlOutputText outputText = new HtmlOutputText();
            outputText.setValue("Some Desc");
            outputText.setId("somedesc2");
            HtmlSelectOneRadio checkBox = new HtmlSelectOneRadio();
            checkBox.setBorder(0);
            checkBox.setLayout("pageDirection");
            checkBox.setId("a3");
            UISelectItems items = new UISelectItems();
            DefaultSelectItemsArray objArray =new DefaultSelectItemsArray();
            vectDefaultSelectItemsArray.add(objArray);
            arrays=(DefaultSelectItemsArray[])vectDefaultSelectItemsArray.toArray(new DefaultSelectItemsArray[vectDefaultSelectItemsArray.size()]);
            int size =arrays.length;
            arrays[size - 1].clear();
            for (int i =0;i<10;i++) {
                arrays[size - 1].add(new SelectItem(""+i+"",""+i));
            // array.setItems(new String[] {"Yes","No" });
            items.setValueBinding("value",getValueBinding("#{Page1.arrays["+(size-1)+"]}"));
            checkBox.getChildren().add(items);
            gridPanel.getChildren().add(outputText);
            gridPanel.getChildren().add(checkBox);
            parent.getChildren().add(gridPanel);
        private void addCheckBox() {
            HtmlPanelGrid gridPanel = new HtmlPanelGrid();
            UIComponent parent = gridPanel1;
            HtmlOutputText outputText = new HtmlOutputText();
            outputText.setValue("Some Desc");
            outputText.setId("somedesc1");
            HtmlSelectManyCheckbox checkBox = new HtmlSelectManyCheckbox();
            checkBox.setBorder(0);
            checkBox.setLayout("pageDirection");
            checkBox.setId("a2");
            UISelectItems items = new UISelectItems();
            DefaultSelectItemsArray objArray =new DefaultSelectItemsArray();
            vectDefaultSelectItemsArray.add(objArray);
            arrays=(DefaultSelectItemsArray[])vectDefaultSelectItemsArray.toArray(new DefaultSelectItemsArray[vectDefaultSelectItemsArray.size()]);
            int size =arrays.length;
            arrays[size - 1].clear();
            for (int i =0;i<10;i++) {
                arrays[size - 1].add(new SelectItem(""+i+"",""+i));
            // array.setItems(new String[] {"Yes","No" });
            items.setValueBinding("value",getValueBinding("#{Page1.arrays["+(size-1)+"]}"));
            checkBox.getChildren().add(items);
            gridPanel.getChildren().add(outputText);
            gridPanel.getChildren().add(checkBox);
            parent.getChildren().add(gridPanel);
        private void addTextBox() {
            HtmlPanelGrid gridPanel = new HtmlPanelGrid();
            UIComponent parent = gridPanel1;
            HtmlOutputText outputText = new HtmlOutputText();
            outputText.setValue("Some Description for Control Text Box");
            outputText.setId("somedesc");
            HtmlInputText textField = new HtmlInputText();
            //  textField.setId("textField_"+control.getId());
            textField.setId("a1");
            HtmlOutputText outputText1 = new HtmlOutputText();
            hyperlink1Text.setValue(" ");
            hyperlink1Text.setStyleClass("bodyText");
            textField.setStyleClass("frmObjects");
            gridPanel.setColumns(3);
            gridPanel.getChildren().add(outputText);
            gridPanel.getChildren().add(hyperlink1Text);
            gridPanel.getChildren().add(textField);
            parent.getChildren().add(gridPanel);
        private DefaultSelectItemsArray array = new DefaultSelectItemsArray();
        public DefaultSelectItemsArray getArray() {
            return array;
        public void setArray(DefaultSelectItemsArray dsia) {
            this.array = dsia;
        private Vector vectDefaultSelectItemsArray = new Vector();
        private DefaultSelectItemsArray[] arrays = new DefaultSelectItemsArray[10];
        public DefaultSelectItemsArray[] getArrays() {
            return arrays;
        public void setArrays(DefaultSelectItemsArray[]dsia) {
            this.arrays = dsia;
        private UISelectItems radioButtonList1SelectItems1 = new UISelectItems();
        public UISelectItems getRadioButtonList1SelectItems1() {
            return radioButtonList1SelectItems1;
        public void setRadioButtonList1SelectItems1(UISelectItems uisi) {
            this.radioButtonList1SelectItems1 = uisi;
        private ValueBinding getValueBinding(String expression) {
            return     FacesContext.getCurrentInstance().getApplication().createValueBinding(expression);
        public String button1_action() {
            // TODO Replace with your code
            return "case1";
    }my navigation.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
                                  "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
    <faces-config>
        <navigation-rule>
            <from-view-id>/Page2.jsp</from-view-id>
            <navigation-case>
                <from-outcome>case1</from-outcome>
                <to-view-id>/Page1.jsp</to-view-id>
            </navigation-case>
            <navigation-case>
                <from-outcome>case2</from-outcome>
                <to-view-id>/Page1.jsp</to-view-id>
            </navigation-case>
            <navigation-case>
                <from-outcome>case3</from-outcome>
                <to-view-id>/Page1.jsp</to-view-id>
            </navigation-case>
        </navigation-rule>
        <navigation-rule>
            <from-view-id>/Page1.jsp</from-view-id>
            <navigation-case>
                <from-outcome>case1</from-outcome>
                <to-view-id>/Page2.jsp</to-view-id>
            </navigation-case>
        </navigation-rule>
    </faces-config>my managed beans xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
                                  "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
    <faces-config>
        <managed-bean>
            <managed-bean-name>Page1</managed-bean-name>
            <managed-bean-class>webapplication8.Page1</managed-bean-class>
            <managed-bean-scope>request</managed-bean-scope>
        </managed-bean>
        <managed-bean>
            <managed-bean-name>SessionBean1</managed-bean-name>
            <managed-bean-class>webapplication8.SessionBean1</managed-bean-class>
            <managed-bean-scope>session</managed-bean-scope>
        </managed-bean>
        <managed-bean>
            <managed-bean-name>ApplicationBean1</managed-bean-name>
            <managed-bean-class>webapplication8.ApplicationBean1</managed-bean-class>
            <managed-bean-scope>application</managed-bean-scope>
        </managed-bean>
        <managed-bean>
            <managed-bean-name>Page2</managed-bean-name>
            <managed-bean-class>webapplication8.Page2</managed-bean-class>
            <managed-bean-scope>request</managed-bean-scope>
        </managed-bean>
        <managed-bean>
    </faces-config>

  • How do I pass input values from a html page to a jsf page

    hi,
    In my project,for front view we have used html pages.how can I get input values from that html page into my jsf page.for back end purpose we have used EJB3.0
    how can I write jsf managed bean for accessing these entities.we have used session facade design pattern and the IDE is netbeans5.5.
    pls,help me,very urgent
    thanx in advance

    Simplest way is to rewrite html page into jsf page.
    You can use session bean in your managed bean like this:
    import javax.naming.Context;
    import javax.naming.InitialContext;
    public class ManagedBean {
    private Context  ctx;
    private Object res;
    // session bean interface
    private Service service;
              public ManagedBean() {
                try{
                     ctx = new InitialContext();
                     res = ctx.lookup("Service");
                     service = (Service) res;
               catch(Exeption e){
    }Message was edited by:
    m00dy

  • How to attach data to url of a jsf page in sun creator

    Can somebody tell me how to attach data to url of a jsf page for example String url="http://w-ngphc-0672.ng.ad.ep.corp.local:8080/Questionnaire/QuestionnaireConnector.jsp?ticket_id="+C.getTicket_id(); accesing this url uses value of C.getTicket_id() and populate the jsp page. How can I achieve this using jsf page in sun creator .
    I'm developing a workflow where url is sent to people and on clicking of the url it takes them to the form of the particular sender with its id attached to the url of the page.

    Here's how I do something similar:
    <ui:hyperlink binding="#{dfrReviewPage.hyperlink4}" id="hyperlink4" style="text-decoration: line-through"
                                                    text="DFR #{currentRow.value['d1.replacesdfr']}"
                                                    url="/getReport/DFR#{currentRow.value['d1.replacesdfr']}.pdf?reportId=#{currentRow.value['d3.replacesformat']}&exportType=0&id=#{currentRow.value['d1.replacesdfr']}" visible="#{currentRow.value['d1.replacesdfr']!=null}"/>As you probably gathered from the currentRow var this is embedded in a table but it could be bound to any bean type object.

  • Passing parameter between JSF pages

    I need to pass a parameter value between 2 different JSF pages.
    The reason I need to do this is to be able to know which JavaBean (A or B) called the other JavaBean (C).
    Can I somehow set a parameter within the JSF page and retrieve it in the second JSF page for my backing bean to read?
    Thanks in advance.

    A co-worker of mine helped me fix my code to make it work!
    Here is the final solution in case someone else needs to do the same thing in the future:
    In the main JSF page that calls the second JSF page, the following code was added at the beginning of the page in the JavaScript section:
    <% session.setAttribute"className", "CcmReassignEmployeeBean");
    And in the Backing Bean of the second JSF page, the following code was used in the action listener used to transfer the data:
    HttpSession session = (HttpSession) context.getExternalContext().getSession(true);
    String className=(String) session.getAttribute("className");
    It works great! Thanks!

  • Save a JSF page as word document

    Hi All,
    I have a simple JSF page with some generated content. In that page, there is a button as "save as word". When the link is clicked , i need the save dialog to appear and prompt the user to save the content in the JSP page as word document.How can i do this in JSF.
    Please guide me in this regard.
    Thanks & Regards,
    Pals

    I don't think this is easily achieveable, if even possible
    A web page as you see it is the result of a web browser rendering the html in its own way. Different browsers can display the same html differently. So what gets displayed to the user is dependent on their browser.. In order to produce an image of what they see, you would need to somehow render the image differently depending on the value of the User-Agent header.
    Maybe by hacking around the hotjava browser you could start to do something like this, but I'd imagine it would be quite messy and again different to what the user views.

  • JSF Page not displayed

    Hi,
    i am new JSF and i have build a jsf page and deployed into Sun GlassFish Enterprise Server
    and i am using NetBeans 6.5.1
    when i try to access the page it is giving the following exception
    java.lang.Exception: javax.faces.FacesException: Problem in renderResponse: Setter not found for property class
    pls help me

    and for the jsf page for all jsf components we used styleclass but not classNot everywhere if you get that error.
    and we are using icefacesIrrelevant.
    java.lang.IllegalStateException: PWC3991: getOutputStream() has already been called for this response*Hard to say what is the cause of this - the indirect cause is exactly what is stated in the error, but why this is happening I cannot say. You get this error in a servlet somewhere perhaps?

  • CS4 Dreamweaver Question: "Find all" has stopped working.

    Dreamweaver will no longer perform a search using the "Find All" option. Nor will it place results in the Search panel.
    Can you help in answering the question of how to make it work again?
    Dreamweaver will . . .
    Find Next within the current document.
    Find Next within a specified folder.  And, with repeated mouse clicks will find each instance within the defined set of pages.
    It will NOT . . .
    Find All within the current document.
    Find All within the defined set of pages (e.g. folder, site, etc.)
    The Search Panel at the bottom of the page will appear when the Find All search starts, but nothing populates in it.
    Your help in answering this question is most appreciated.

    It worked a couple of times, but no longer. Any other thoughts?
    If you have experienced it several times and using latest updates for CS4 this means there must be more going on.
    Do you check and repair your disk permissions for OSX on a regular base and do you have also latest updates for OSX (software update) running regularly?
    There are two other options, purge cache for folder (or delete the entire cache file to the trash and start again caching). In the Bridge prefs is a setting to also purge global cache. (Per CS4 it seems save to use this setting, earlier version could bring you in trouble as Tai Lao often has stated)
    You will find the cache file in the user library caches folder and it can grow to huge proportions.
    In the same library in the preferences is also a  Bridge plist file that can be deleted.
    Both Cache and plist file will refresh itself with a default empty file as after first install once you restarted Bridge.

  • How to pre-compile JSF pages?

    Hi,
    I am new to JSF and would appriciate if any one can help me find out how to pre-compile JSF pages?
    Thanks in advance
    satsdn

    The same way you pre-compile JSP pages: Set it up in your faces-config.xml file.
    Here's how I do it:
         <servlet>
              <servlet-name>AcctID</servlet-name>
              <display-name>AcctID</display-name>
              <jsp-file>/AcctID.jsp</jsp-file>
              <load-on-startup>-1</load-on-startup>
         </servlet>Put one of these tags for each JSP you want to pre-compile. The -1 load-on-startup value is important.
    CowKing

  • How to find all the tables associated for a particular transaction

    Hi-
    May I know how to find all the tables, related(foreign key) tables for a transaction within SAP GUI?
    Up to my technical knowledge, this can be achieved by looking database diagrams from DB level. But that would be for entire database as a whole. What I'm expecting is to see transaction level relative tables that too from SAP GUI. Please share the possibilities if any.
    Regards
    Sekhar

    Dear Micky Oestreich
    May be we possess expertise or high level experience, it should not show up in our way of communication. Every professional starts with the basic stuff to learn. When the question is raised in such minimum polite way, the same level of courtesy is expected in return. If you felt my question was basic, you might have refused it gently. If you are in good mood or bad mood it doesn't matters.
    Hi Vengal Rao
    Thanks for your response. It helped me.
    Regards
    Sekhar

  • How to find all the parts used from stock for 1 machine

    Dear Sap community,
    I'm trying to find all the spare components that are used for 1 specific machine.
    If I look in the work orders under components it only gives the components that are orderd.
    But I would like to find the components that come out of stock. I asked the stockkeeper and he said he writes it all in the work orders but we can't find it back.
    It would be nice to just find it on the work order but it would be easier if I could just choose a machine and then find all the spare parts used from stock.
    So my question is can I find all the spare parts used for 1 machine or just find the spare parts in the work order?
    Thank you for any help you can provide in this situation,
    Michael Claes

    Hi,
    In addition to puneet's information:
    Training and Event Mgmt  infotypes:
        Prices (Infotype 1021)
        Availability Indicators (Infotype 1023)
        Capacity (Infotype 1024)
        Depreciation Meter/Validity (Infotype 1025)
        Business Event Info (Infotype 1026)
        Site-Dependent Additional Info (Infotype 1027)
        Address (Infotype 1028)
        Business Event Type Info (Infotype 1029)
        Procedure (Infotype 1030)
        Mail Address (Infotype 1032)
        Name Format (Infotype 1034)
        Schedule (Infotype 1035)
        Costs (Infotype 1036)
        Billing/Allocation Info (Infotype 1037)
        Business Event Blocks (Infotype 1041)
        Schedule Model (Infotype 1042)
        Demand (Infotype 1060)
        Web Link (Infotype 1061)
        Knowledge Link (Infotype 1062)
        Business Event Group Info (Infotype 1063)
    Thanks,
    Anil.G

  • I have pages for my pad and iPhone. if i dowload this version will my papers and notes be shared on all three devices?

    Wll this version of pages be shared throughout all my devices? I use pages for Grad school, primarily note taking. 

    No, the one for Mac computer  is to be bought separatly from the Mac App store. Even though the same name and cooperating they work on different opeating systems.

  • Excel Online - Perform a find all occurrences

    When a perform a Ctrl-F or use the Find feature on Excel online, only the first occurrence is returned.  
    Is there a way to perform a Find all occurrences?
    Is there a way for the pop-up find window not to close after an occurrence is found?

    Press Ctrl-F, then click the Options >>  button , choose your options, then press the "Find all" button.
    If you want to search multiple sheets, select the sheets before pressing Ctrl-F....

Maybe you are looking for