Splitting faces-config.xml into multiple parts

Hey Everybody,
I'm trying to split up my faces-config.xml file into application specific and deployment specific parts. I've managed to everything set-up so far but I'm having a problem with beans. I've got a bean which contains most of the application specific attributes but the problem is that some of the attributes are deployment specific and some are application specific.
In the past, I could get around this by having two faces-config.xml files which each defined the bean but only specified "their" attributes. But I've now found that I can only define the bean only once. The bean will get the attributes from one file but not the other. So how can I get around this? Could I do a faces-config.xml include statement? Do I have to create a deployment-specific bean?
Mark

We have been referencing the same managed bean in different faces-config.xml files for a couple of years and it really did work until the latest release of JDeveloper. What we had been doing was to put properties that would change between the development and deployed versions in different faces-config.xml files; the goal being to isolate all the properties that needed to be changed for deployment in a single file that we could automatically replace with Ant when we build the production release.
But just because it worked in the past doesn't mean that it was supposed to work.
Thanks,

Similar Messages

  • Contents merging for multiple faces-config.xml

    Hi, I know from another post that it's possible to use multiple faces-config.xml. Ok. But which rules do apply for merging contents ? If I have a multiple components application, then I expect to have a single faces-config per component, containing its managed beans, while I would keep navigation rules and general issues (such as facelets config) into a common faces-config.
    Would it work that way ?

    See Re: Very slow performance in Jdeveloper

  • Splitting a string into multiple parts from particular position (string has no delimiter )

    Hello Gurus,
    I need to make string of having length 1000 into multiple parts from a particular position which has some text without any delimiter and i want to populate each part into an internal table which has one filed...
    eg : string = 'sap abap sap abap sap abap sap abap sap abap sap abap sap abap sap sap sap abap sap abap'
    suppose i want to start splitting from 40th position...assume that i have 3 parts
    and these 3 parts i have put into an internal table..
    lt_itab = [sap abap sap abap sap abap sap abap,
                  sap abap sap abap sap abap sap abap,
                   sap abap sap sap sap abap sap abap]
    plese help!
    any help would be Appreciated ...thank you

    Hi,
    Try this code.
    TYPES: BEGIN OF ty,
            b TYPE string,
            END OF ty,
            tt TYPE STANDARD TABLE OF ty.
    DATA: a TYPE string VALUE 'aaa bbb ccc ddd eee fff ggg hhh iii jjj kkk lll',
           tb TYPE tt,
           wa TYPE ty,
           off TYPE i,
           len TYPE i,
           count TYPE i,
           count1 TYPE i,
           temp TYPE i.
    len = 8.                      "Position
    off = 0.
    count = strlen( a ).
    count1 = count / 8.
    temp = len - 1.
    DO count1 times.
      temp = off + len.
      IF temp > count.
       wa-b = a+off.
      ELSE.
       wa-b = a+off(len).
      ENDIF.
      off = off + len.
      SHIFT wa-b LEFT DELETING LEADING space.
      APPEND wa to tb.
    ENDDO.
    LOOP AT  tb INTO wa.
    write: / wa-b.
    ENDLOOP.

  • How to configure multiple jsp files with diff beans in faces-config.xml??

    Hi All,
    I have 2 seperate jsp pages one is a login page and the other is the main application page.Now i am handling both the pages with seperate Bean class with respective setter and getter methods.How can i state the same in faces-config.xml file???..
    Is the below way correct???
    <?xml version='1.0' encoding='UTF-8'?>
    <!-- =========== FULL CONFIGURATION FILE ================================== -->
    <faces-config version="1.2"
        xmlns="http://java.sun.com/xml/ns/javaee"
        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-facesconfig_1_2.xsd">
        <managed-bean>
                <managed-bean-name>LoginForm</managed-bean-name>
                <managed-bean-class>useraccess.LoginForm</managed-bean-class>
                <managed-bean-scope>request</managed-bean-scope>
        </managed-bean>
        <navigation-rule>
                <from-view-id>/login.jsp</from-view-id>
            <navigation-case>
                <from-action>#{LoginForm.CheckValidUser}</from-action>
                <from-outcome>success</from-outcome>
                <to-view-id>/success.jsp</to-view-id>
            </navigation-case>
            <navigation-case>
                <from-action>#{LoginForm.CheckValidUser}</from-action>
                <from-outcome>fail</from-outcome>
                <to-view-id>/fail.jsp</to-view-id>
            </navigation-case>
        </navigation-rule>
        <managed-bean>
                <managed-bean-name>DSRApplication</managed-bean-name>
                <managed-bean-class>DSRApplication.LoginForm</managed-bean-class>
                <managed-bean-scope>request</managed-bean-scope>
        </managed-bean>
        <navigation-rule>
                <from-view-id>/DSR.jsp</from-view-id>
            <navigation-case>
                <from-action>#{DSRApplication.checkValidDateInAllFields}</from-action>
                <from-outcome>alldatasuccess</from-outcome>
                <to-view-id>/success.jsp</to-view-id>
            </navigation-case>
            <navigation-case>
                <from-action>#{DSRApplication.checkValidDateInAllFields}</from-action>
                <from-outcome>datafail</from-outcome>
                <to-view-id>/fail.jsp</to-view-id>
            </navigation-case>
        </navigation-rule>
    </faces-config>Thanks in advance to all.
    regards,
    Viswanadh.

    Thanks ejp for the reply.
    Since i am a beginner even i dont know the exact reason to answer you for why am i using JSP with Facelets.Kindly provide me the suggestion and valuable information you have so that i can learn.
    Apart from this i want to know whether the way provided in that faces-config.xml is possible or do we have a way to make that possible???
    regards,
    Viswanadh.

  • How to specify multiple message bundles in faces-config.xml

    Hi
    I have different properties file which I want to use as message bundle.
    Message.properties
    Help.properties
    When I specify this in faces-config.xml
    <application>
    <message-bundle>/Message</message-bundle>
    <message-bundle>/Help</message-bundle>
    </application>
    and now when I try to use that in my jsp page like this
    <f:loadBundle basename="/Message" var="message"/>
    <f:loadBundle basename="/Help" var="help"/>
    and access any messagestring from those files I can not excess either of them. But when I use only one of them it works fine.
    Am I doing something wrong or I can not do this thing at all??
    Thanks in advance.

    I only specify one properties file in the <application> tag. That one is used for system messages. I have other properties files for labels, and another for just standard app text, so in my faces-config.xml I have something like this:
    <application>
    <message-bundle>message</message-bundle>
    <locale-config>
    <default-locale>en</default-locale>
    </locale-config>
    </application>
    where my message.properties is used for system messages (validation, etc).
    I don't list the other property files there. I have two more that I use, labels_en.properties, and standard_en.properties. Labels are words that have a : at the end or a *: for required fields. Standard are just other words that I use in my application. So on every page that I have, I start out with the following header:
    <html>
    <f:view locale="en_US">
    <head>
    <f:loadBundle basename="label" var="label"/>
    <f:loadBundle basename="standard" var="standard"/>
    <title>
    .....

  • Working with multiple faces-config.xml files

    I would organize the menu definitions of my application in different faces-config.xml files. I would also put the label in different properties files.
    The SRDemo application uses a unique properties file for the menu used in the el expression from the faces-config.xml.
    Is it possible to have the same approach with not only one faces-config.xml file but has many faces-config.xml i want for my application.
    If yes does the binding name to be different or may be the same for each file ?

    We still have a litlle problem we don't find the reason. May be you can help us.
    The second menu level never appear in the menu list. The menu list appear as empty.
    The menu bar seem to be correct. We put twice the same model tree to be sure it was working well. Both menu appears. It is correct.
    Here is our faces-config-menu-flexsystem.xml file
    <?xml version="1.0" encoding="windows-1252"?>
    <!DOCTYPE faces-config PUBLIC
    "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
    "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
    <faces-config xmlns="http://java.sun.com/JSF/Configuration">
    <managed-bean>
    <description>Create menu item for flex system management</description>
    <managed-bean-name>menu_menuitem_FlexSystem_Create</managed-bean-name>
    <managed-bean-class>flex.view.util.MenuItem</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    <managed-property>
    <property-name>label</property-name>
    <value>#{resources['menu.FlexSystem.menuItem.create']}</value>
    </managed-property>
    <managed-property>
    <property-name>viewId</property-name>
    <null-value/>
    </managed-property>
    <managed-property>
    <property-name>outcome</property-name>
    <value>linkToCreateNewFlexSystem</value>
    </managed-property>
    </managed-bean>
    <managed-bean>
    <description>Manage menu item for flex system management</description>
    <managed-bean-name>menu_menuitem_FlexSystem_Manage</managed-bean-name>
    <managed-bean-class>flex.view.util.MenuItem</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    <managed-property>
    <property-name>label</property-name>
    <value>#{resources['menu.FlexSystem.menuItem.manage']}</value>
    </managed-property>
    <managed-property>
    <property-name>viewId</property-name>
    <value>\FlexHome.jspx</value>
    </managed-property>
    <managed-property>
    <property-name>outcome</property-name>
    <value>linkToManageFlexSystem</value>
    </managed-property>
    </managed-bean>
    <managed-bean>
    <description>Root menu item for flex system management</description>
    <managed-bean-name>menu_menuitem_FlexSystem_Root</managed-bean-name>
    <managed-bean-class>flex.view.util.MenuItem</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    <managed-property>
    <property-name>children</property-name>
    <list-entries>
    <value-class>flex.view.util.MenuItem</value-class>
    <value>#{menu_menuitem_FlexSystem_Create}</value>
    <value>#{menu_menuitem_FlexSystem_Manage}</value>
    </list-entries>
    </managed-property>
    <managed-property>
    <property-name>label</property-name>
    <value>#{resources['menu.FlexSystem.menuItem.root']}</value>
    </managed-property>
    </managed-bean>
    <application>
    <message-bundle>flex.view.resources.MenuFlexSystemProperties</message-bundle>
    <locale-config>
    <supported-locale>fr_CH</supported-locale>
    </locale-config>
    </application>
    <managed-bean>
    <managed-bean-name>resources</managed-bean-name>
    <managed-bean-class>flex.view.util.ResourceAdapter</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
    <navigation-rule>
    <from-view-id>/FlexHome.jspx</from-view-id>
    <navigation-case>
    <from-outcome>linkToCreateNewFlexSystem</from-outcome>
    <to-view-id>/CreateNewFlexSystem.jspx</to-view-id>
    </navigation-case>
    </navigation-rule>
    <navigation-rule>
    <from-view-id>/FlexHome.jspx</from-view-id>
    <navigation-case>
    <from-outcome>linkToManageFlexSystem</from-outcome>
    <to-view-id>/ManageFlexSystem.jspx</to-view-id>
    </navigation-case>
    </navigation-rule>
    <managed-bean>
    <managed-bean-name>menu_FlexSystem</managed-bean-name>
    <managed-bean-class>flex.view.util.MenuTreeModelAdapter</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    <managed-property>
    <property-name>childProperty</property-name>
    <value>children</value>
    </managed-property>
    <managed-property>
    <property-name>listInstance</property-name>
    <list-entries>
    <value-class>flex.view.util.MenuItem</value-class>
    <value>#{menu_menuitem_FlexSystem_Root}</value>
    <value>#{menu_menuitem_FlexSystem_Root}</value>
    </list-entries>
    </managed-property>
    </managed-bean>
    <managed-bean>
    <managed-bean-name>menuModel</managed-bean-name>
    <managed-bean-class>flex.view.util.MenuModelAdapter</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    <managed-property>
    <property-name>viewIdProperty</property-name>
    <value>viewId</value>
    </managed-property>
    <managed-property>
    <property-name>instance</property-name>
    <value>#{menu_FlexSystem.model}</value>
    </managed-property>
    </managed-bean>
    </faces-config>

  • Making navigation to an external page in faces-config.xml

    Hi all,
    I want to make a navigation to an external page in faces-config.xml, or for example to an absolute URL like www.oracle.com. Is there a way to put a navigation like this in faces-config.xml? As I know the <to-view-id> tag only references a relative page address on the ViewController project.
    Thanks in advance,
    S/\EE|)

    I want to go to a page of another application (I've split my application into several applications) so I need to use absolute address. As the external page is part of my application, I want to see it in my faces-config in order to know the outgoing pages from my page and manage them when necessary.

  • Forward to Tiles definition from faces-config.xml

    Hello,
    can anybody explain me how to make a forward to a Tiles definition from the faces-config.xml file? I�m using MyFaces with Tomahawk and Tiles, but I also tried with Jsf without myFaces and lots of combinations but I can�t fix it.
    Here is my faces-config file:
    <faces-config>
    <navigation-rule>
    <from-view-id>/pages/JP000.jsp</from-view-id>
    <navigation-case>
    <from-outcome>loginFrm</from-outcome>
    <to-view-id>/JP002.tiles</to-view-id>
    </navigation-case>
    </navigation-rule>
    <application>
    <view-handler>org.apache.myfaces.tomahawk.application.jsp.JspTilesViewHandlerImpl</view-handler>
    </application>
    </faces-config>
    and this is the tiles-defs.xml:
    <tiles-definitions>
         <!-- === layouts === -->
         <definition name="general.menu"
              path="/pages/tiles/templates/general.menu.jsp">
              <put name="titleHTML" type="string"     value="mi_title" />
              <put name="menu" value="/pages/tiles/menu.jsp" />
         </definition>
         <!-- === pages === -->
         <definition name="JP002.tiles" extends="general.menu">
              <put name="titleHTML" type="string"     value="mi_title" />
              <put name="content" value="/pages/menus/JP002.jsp" />
              <put name="menu" value="0" />
         </definition>
    </tiles-definitions>
    Lots of thanks!!!!

    Today I downloaded tomahawk-examples-1.1.5-bin. (http://myfaces.apache.org/download.html). They have one example with tiles, and it works the way I want it to.
    I'm still trying to figure it out what is causing this behaviour.
    At least, I tried to change the value they're using for linkage between <to-view-id> and tiles definition, and found that JSF is still ignoring the real value in <to-view-id>
    : it was originally 'blah.jsp', but 'blah' or 'blah.tiles' worked the same way, while in tiles definition the corresponding name was always blah.tiles.
    It seems that they are looking into tiles definitions first with the key composed of the first part of the value in <to-view-id> (before the dot) concatenated with hardcoded '.faces'.
    I tried to change the key value in both config files to something like 'blah.ttt', and it did not work.
    I'm not sure at the moment if this would be a problem for me, I may use this framework, knowing the limitations.
    Also, I'll look into the code, if this may be altered and at what cost.
    Still, the basic jsf problem with always interpreting the value in <to-view-id> as blah.jsp remains.

  • More than one faces-config.xml

    hi!
    i am working in a big team, and would like to create more than one faces-config.xml file.
    is it possible? how?

    Yes!! You can create multiple faces-config.xml files.
    Make changes in your deployment descriptor to include multiple faces config files:
    <context-param>
         <param-name>javax.faces.CONFIG_FILES</param-name>
         <param-value>/WEB-INF/config/faces-config-one.xml,
         /WEB-INF/config/faces-config-two.xml,
         /WEB-INF/config/faces-config-three.xml,
         /WEB-INF/config/faces-config-four.xml</param-value>
    </context-param>When there are too many modules, with many people working on the project simultaneously, having multiple faces config files makes it a lot more easier to manage.

  • XInclude in faces-config.xml

    Hi,
    I will appreciate some explanation about line xmlns:xi="http://www.w3.org/2001/XInclude" in faces-config.xml.
    In some samples I find it and in others not. ¿It’s necessary? ¿what is its functionality?
    Thanks!

    xinclude is a facility to include xml fragments into another document. It's not required in order to author a faces-config.

  • Sun-faces-config.xml

    Hi - Is there a way to distribute component metadata in sun-faces-config.xml over more than one file?
    I have multiple components and all the metadata combined is resulting in a HUGE file and its getting quite tedious to modify it.
    Any suggestions?
    TIA.
    -

    Hi ,
    The follwing link may probably answer your query.
    http://swforum.sun.com/jive/thread.jspa?threadID=50215&tstart=15
    Regards.,

  • Can I use morethen one faces-config.xml

    HI,
    now I am learning jsf, I have a doubt that ,can I use more than on faces-config.xml in one application ? and can we cahange name of faces-config.xml to faces-config-first.xml, and faces-config-second.xml? if it is possible , what should i do?
    Thank&Regards
    satya..

    Why would you want multiple config files? Is it for organization only...
    How would your app. know the when to use a different config file?
    Thanks,
    --Todd                                                                                                                                                                                                                                                                                                                       

  • Can i make more than one faces-config.xml file ?

    Can i make more than one faces-config.xml file under one project or application, if yes than how it will link.

    Just that you know,
    In the second week of july I was taking the Jdeveloper/Jheadstart course at Oracle Netherlands. During that course we were asked to split the faces-config. After splitting it, we were not able to find the navigation rules that were defined in the first faces-config in the web.xml. The Jdeveloper IDE was confused........
    However, we were able to use the navigation rules (type in manualy) and that worked in the application.
    I talked about it with Steven Davelaar and he thought it might be a bug. I don't know if it's reported, and I don't know if it's fixed.
    So, if you get confused.... it works, but Jdeveloper might have some problems with it.
    Luc Bors

  • Creating jsf faces-config.xml file

    Hello.
    I'm a newbee on Sun Java Studio Enterprice and have just converted from Borland Jbuilder.
    In borland, if I create a new "webmodule" and include the jfs library, Borland automaticaly creates the faces-config.xml file for me. The IDE then helps me keep this file up to date.
    After creating a new project in Sun Java Studio Enterprice I have gone into propereties and included the jsf-1_1_01.zip file (I googled jsf library and found this file. If I include this file I get access to the <h: -taglib etc so it seems to be working). But the IDE doesn't create the faces-config.xml file.
    Do I need to create this manually or what do I do wrong?

    As an alternative to Creator (which mostly implies WYSIWYG editing of JSP pages) you can consider NetBeans 5.0 or NetBeans 5.5 Beta. They also support JSF.

  • Localization of adf faces-config.xml

    I have defined my ADF process train component and menu items in my faces-config.xml. The definition has got the label for these components in the faces-config.xml How can I localize these labels so that I can support multiple languages. The managed bean for my process train component is
    <managed-bean>
    <managed-bean-name>customerInfo</managed-bean-name>
    <managed-bean-class>view.faces.menu.PersonalTrackerMenuItem</managed-bean-class>
    <managed-bean-scope>none</managed-bean-scope>
    <managed-property>
    <property-name>viewId</property-name>
    <value>/customerinfo.jsp</value>
    </managed-property>
    <managed-property>
    <property-name>label</property-name>
    <value>Customer Information</value>
    </managed-property>
    <managed-property>
    <property-name>outcome</property-name>
    <value>guide.customerinfo</value>
    </managed-property>
    </managed-bean>
    I would like to know how to get the Customer Information label from a properties file instead of hardcoding it in the faces-config.xml

    Hi Frank
    Thanks for your response. I understand that we need to use different locales but for this to work all the labels need to be parameterized to the properties file. This is straight forward when it comes to labels in the JSP pages where we load the bundle with
    <f:loadBundle basename="myBundle.myBundle" var="sampleBundle"> and refer to a property as <f:commandButton value="#{sampleBundle.myButtonText}"/> my problem is how to do this when the label I want to parameterize is in the faces-config.xml

Maybe you are looking for