ADF Faces af:forEach bug

I have a page that has a af:showOneTab that contains a af:forEach to dynamically populate the af:showDetailItem tabs. Within the af:showDetailItem I can reference the forEach iterator to associated fields on the screen with their corresponding values. This works fine.
But these tabs also contain af:selectOneChoice fields. And within this field I need the f:selectItems to reference a list of options that is part of the data object associated with the forEach iterator. This does not seem to work. The option lists are always empty. I have tried debugging this process and the system does not call the accessor functions for this list items. It does call the accessors for all of the simple field value attributes referenced by the forEach iterator, but the "getMyOptionsList" referenced in the f:selectItems value="#{listIterator.myOptionsList}" statement is never called.
Should this work or is it a limitation for the af:forEach?
Thanks

Dang, nobody is listening...
But I also now have another problem with af:forEach. In the same scenario as above (in fact trying to get around the problem above...), I am trying to bind an af:inputText component to a backing bean. I am using the af:forEach iterator value "addresslist" just like it is used for the component value. This works fine for the value property, but does not work for the binding property. I get the error <i>"javax.faces.el.PropertyNotFoundException: Error setting property 'cityInputText' in bean of type null"</i>.
The component definition looks like this:
af:inputText
id="csrv_detailsCity"
binding="#{addresslist.cityInputText}"
columns="40"
maximumLength="40"
simple="true"
value="#{addresslist.city}"
Should this work or is it another "limitation" of the af:forEach?
Thanks

Similar Messages

  • ADF FACES: af:forEach and panelGrids

    Hi,
    I can't get code resembling the following to work:
    <h:panelGrid columns="4">
      <af:forEach items="#{bindings.WebCategoriesIterator.collectionModel}"
        var="current">
        <af:panelGroup>
          <af:outputText value="#{current.CatName}" />
          <af:outputText value="#{current.CatDesc}" />
        </af:panelGroup>
      </af:forEach>
    </h:panelGrid>Am I misunderstanding how one of these components works? I know <af:forEach> "only works with ADF Faces components", but I'd been assuming that means that all the components inside it have to be ADF Faces components, not that all the components on the page do. (That is, I'd assumed that the panelGrid was fine.)
    I get a couple of Log4J "Error null" messages on the console when I run this, and the panel grid doesn't seem to render at all. A table built on the same data model works fine.
    Assuming I can't use a forEach inside a panel grid, does anyone have any suggestions? Eventually, there will be images and links in these cells--the idea is to have a n x m grid of images, each linked to a "product" page, much as you might see in most web stores.
    I suppose I could use a large tableLayout with cellFormats and manually check each row in the range in the form bean, setting rowLayout and cellFormat properties to "false" once there aren't any more rows, but this seems hideously ugly for what should be a fairly simple widget.

    Hi,
    I can't get code resembling the following to work:
    <h:panelGrid columns="4">
      <af:forEach items="#{bindings.WebCategoriesIterator.collectionModel}"
        var="current">
        <af:panelGroup>
          <af:outputText value="#{current.CatName}" />
          <af:outputText value="#{current.CatDesc}" />
        </af:panelGroup>
      </af:forEach>
    </h:panelGrid>Am I misunderstanding how one of these components works? I know <af:forEach> "only works with ADF Faces components", but I'd been assuming that means that all the components inside it have to be ADF Faces components, not that all the components on the page do. (That is, I'd assumed that the panelGrid was fine.)
    I get a couple of Log4J "Error null" messages on the console when I run this, and the panel grid doesn't seem to render at all. A table built on the same data model works fine.
    Assuming I can't use a forEach inside a panel grid, does anyone have any suggestions? Eventually, there will be images and links in these cells--the idea is to have a n x m grid of images, each linked to a "product" page, much as you might see in most web stores.
    I suppose I could use a large tableLayout with cellFormats and manually check each row in the range in the form bean, setting rowLayout and cellFormat properties to "false" once there aren't any more rows, but this seems hideously ugly for what should be a fairly simple widget.

  • ADF FACES: processValidators and ValidatorException bug

    Using EA15.
    Unless I'm misunderstanding how UIComponent.processValidators works, you should just throw a ValidatorException to signal a problem.
    However, in trying just that, the ADF FACES framework is treating the exception as a SEVERE error instead of treating it as a validation failure.
    I have constructed a simple extension to PanelPage so I can invoke my own validation routine, like this:
    * Internal class to provide a validation hook for our forms
    public static class ValidatingCorePanelPage extends CorePanelPage {
    public void processValidators(FacesContext ctx) {
    super.processValidators(ctx);
    // Dispatch the validation to the current form
    FormBean.dispatchFormValidation(ctx);
    dispatchFormValidation will invoke a validation method on the proper backing bean, in which code similar to the following is used:
    String spokeWith = (String)getCompSpokeWith().getLocalValue();
    String callStatus = (String)getCompFinalCallStatus().getLocalValue();
    System.out.println("SPOKEWITH='" + spokeWith + "'");
    System.out.println("CALLSTATUS='" + callStatus + "'");
    // We require a value in "spoke with" if the call status is anything other than
    // "left message"
    boolean isMessageStatus = !StringUtils.isEmpty(callStatus) && StringUtils.contains(callStatus.toLowerCase(),"message");
    if( !isMessageStatus && StringUtils.isEmpty(spokeWith)) {
    // register the error message
    FacesMessage fmsg =
    new FacesMessage(FacesMessage.SEVERITY_ERROR, "Incomplete Data",
    "'Spoke with' may not be empty");
    // Add the message to the specific
    // component that is missing data.
    getFacesContext().addMessage("spokewith", fmsg);
    throw new ValidatorException(fmsg);
    However, when this executes (and results in a ValidatorException), I get the following output in my log file:
    05/05/20 15:51:44 <<<< PHASE: RESTORE_VIEW 1
    05/05/20 15:51:44 >>>> PHASE: APPLY_REQUEST_VALUES 2
    05/05/20 15:51:44 <<<< PHASE: APPLY_REQUEST_VALUES 2
    05/05/20 15:51:44 >>>> PHASE: PROCESS_VALIDATIONS 3
    May 20, 2005 3:51:44 PM com.sun.faces.lifecycle.ProcessValidationsPhase execute
    SEVERE: Incomplete Data
    javax.faces.validator.ValidatorException: Incomplete Data
         at com.fhm.mwb.ui.backing.OfficeCallForm.validateForm(OfficeCallForm.java:256)
         at com.fhm.mwb.ui.backing.FormBean.dispatchFormValidation(FormBean.java:588)
         at com.fhm.mwb.ui.SharedComponents$ValidatingCorePanelPage.processValidators(SharedComponents.java:337)
         at oracle.adf.view.faces.component.UIXComponentBase.processValidators(UIXComponentBase.java)
    And the lifecycle stops dead!
    How is this supposed to work? How are you supposed to report a validation exception from within processValidators?
    This seems to be a bug in ADF FACES.

    <af:forEach> does not support <f:> or <h:> tags; this unfortunate restriction is documented in the <af:forEach> release notes. It's not a bug - it's a fact of life until we can get our technique integrated into the core JSF or JSP specifications.

  • [BUG | ADF Faces] af:selectManyShuttle description doesn't work in af:page

    I am using:
    - JDeveloper 10.1.3.0.4
    - ADF Faces 10.1.3.0.4
    I have a selectManyShuttle component on my page (mapped to a managed bean) and nested inside a panelPage component, like this:
    <f:view>
      <afh:html>
        <afh:head title="Shuttle Test">
          <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
        </afh:head>
        <afh:body>
          <af:form>
            <af:panelPage title="Shuttle Test">
              <f:facet name="messages">
                <af:messages/>
              </f:facet>
              <af:selectManyShuttle leadingHeader="Available"
                                    trailingHeader="Selected"
                                    leadingDescShown="true"
                                    trailingDescShown="true"
                                    value="#{testShuttle.selectedValues}">
                <f:selectItems value="#{testShuttle.allItems}"/>
              </af:selectManyShuttle>
            </af:panelPage>
          </af:form>
        </afh:body>
      </afh:html>
    </f:view>The managed bean is based on the ShuttlePageBackingBeanBase class described in the ADF Developer's Guide: How to Create a Shuttle.
    This works fine - as you select each item in the list, the description field is updated with the correct value. If, however, I replace the af:panelPage component with an af:page component, the descriptions do not show up.
    I think this must be a bug because the main difference between the two components is the menu structure. In all other ways, they should function in the same manner.

    I have filed a service request on MetaLink for this problem and they have created a bug entry.
    The bug is 5840131 - "LONGDESC" FROM SELECTITEM OF SELECTMANYSHUTTLE IN AN AF:PAGE IS NOT DISPLAYED.

  • Bug ADF Faces: af:table

    Hello,
    I found a new bug while working with ADF Faces. If you have a form on a page as well as a table and one of the field in the form is flagged required, then the table won't be sortable unless a value is put in the required field. The same holds true for row navigation.
    I already thought about flagging the table as immediate. That fix the row navigation but not the sorting.
    Regards,
    Simon Lessard

    Hello Frank,
    Thank you for the reply. Here's the complete project.
    It's only a little example to show ADF Faces components without any specific model technology. Therefore, the project is a single project with any well defined separation. As you can see, the table is based on a collection completely separated from the form.
    Note: I agree that sorting should fail with a required field if the table is not immediate. However, if it's I see no reason why it wouldn't work since the table and the form are not linked.
    Anyway, here's the case.
    1. A "shop" managed bean:
    import java.util.ArrayList;
    import java.util.List;
    public class ShopBean {
        private Product newProduct;
        private List products;
        public ShopBean() {
            products = new ArrayList();
            newProduct = new Product();
        public String addNewProduct() {
            products.add(newProduct);
            newProduct = new Product();
            return null;
        public Product getNewProduct() {
            return newProduct;
        public void setNewProduct(Product newProduct) {
            this.newProduct = newProduct;
        public List getProducts() {
            // I also tried to return a CollectionModel here, but it didn't change anything
            return products;
        public void setProducts(List products) {
            this.products = products;
    }2. A product class:
    public class Product {
        private String name;
        private String description;
        private Double price;
        public Product() {
        public String getName() {
            return name;
        public void setName(String name) {
            this.name = name;
        public String getDescription() {
            return description;
        public void setDescription(String description) {
            this.description = description;
        public Double getPrice() {
            return price;
        public void setPrice(Double price) {
            this.price = price;
    }3. A single page:
    <?xml version='1.0' encoding='windows-1252'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"
              xmlns:h="http://java.sun.com/jsf/html"
              xmlns:f="http://java.sun.com/jsf/core"
              xmlns:af="http://xmlns.oracle.com/adf/faces"
              xmlns:afh="http://xmlns.oracle.com/adf/faces/html">
      <jsp:output omit-xml-declaration="true" doctype-root-element="HTML"
                  doctype-system="http://www.w3.org/TR/html4/loose.dtd"
                  doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN"/>
      <jsp:directive.page contentType="text/html;charset=windows-1252"/>
      <f:view>
        <f:loadBundle basename="com.dmr.cours.jsf.resources.messages" var="msg"/>
        <afh:html>
          <afh:head title="#{msg['page.title']}">
            <meta http-equiv="Content-Type"
                  content="text/html; charset=windows-1252"/>
          </afh:head>
          <afh:body>
            <h:form>
              <af:panelPage title="#{msg['title.page']}">
                <f:facet name="menu1">
                  <af:menuTabs>
                    <af:commandMenuItem text="#{msg['menu1.application.label']}"
                                        selected="true"/>
                  </af:menuTabs>
                </f:facet>
                <f:facet name="menu2">
                  <af:menuBar>
                    <af:commandMenuItem text="#{msg['menu2.welcome.label']}"/>
                    <af:commandMenuItem text="#{msg['menu2.products.label']}"
                                        selected="true"/>
                  </af:menuBar>
                </f:facet>
                <f:facet name="branding">
    <- Using SRDemo branding because no one sane want to
    see a branding made by me, using no branding works as well ->
                  <af:objectImage source="/images/SRBranding.gif"/>
                </f:facet>
                <af:panelHeader text="#{msg['title.new']}">
                  <af:panelForm>
                    <f:facet name="footer">
                      <af:panelButtonBar>
                        <af:commandButton text="#{msg['action.add']}"
                                          action="#{shop.addNewProduct}"/>
                      </af:panelButtonBar>
                    </f:facet>
    <- Removing the required attribute here makes sorting
    and row navigation functional again. ->
                    <af:inputText label="#{msg['product.name']}"
                                  value="#{shop.newProduct.name}" required="true"/>
                    <af:inputText label="#{msg['product.price']}"
                                  value="#{shop.newProduct.price}">
                      <f:convertNumber minFractionDigits="2"
                                       maxFractionDigits="2"/>
                      <f:validateDoubleRange minimum="0"/>
                    </af:inputText>
                    <af:inputText label="#{msg['product.description']}"
                                  value="#{shop.newProduct.description}" rows="5"/>
                  </af:panelForm>
                </af:panelHeader>
                <af:panelHeader text="#{msg['title.list']}">
                  <af:table value="#{shop.products}"
                            var="product" rows="5" banding="row"
                            bandingInterval="1" emptyText="#{msg['list.empty']}"
                            immediate="true">
                    <af:column sortProperty="name" sortable="true"
                               headerText="#{msg['product.name']}">
                      <af:outputText value="#{product.name}"/>
                    </af:column>
                    <af:column sortable="false"
                               headerText="#{msg['product.description']}">
                      <af:outputText value="#{product.description}"/>
                    </af:column>
                    <af:column sortProperty="price" sortable="true"
                               headerText="#{msg['product.price']}">
                      <af:outputText value="#{product.price}">
                        <af:convertNumber type="currency"/>
                      </af:outputText>
                    </af:column>
                  </af:table>
                </af:panelHeader>
              </af:panelPage>
            </h:form>
          </afh:body>
        </afh:html>
      </f:view>
    </jsp:root>4. A property files
    page.title = Test shop page
    menu1.application.label = MyShop.com
    menu2.products.label = Product management
    menu2.welcome.label = Home
    title.page = Product management
    title.new = New product's data
    title.list = Existing product list
    action.add = Add to product list
    product.name = Product's name
    product.price = Price
    product.description = Description
    list.empty = No product yet.5. The /images/SRBranding.gif file.
    EDIT: Forgot to add the required field and "fixed" the comment that the forum was erasing. =P
    EDIT: Added a note.
    Message was edited by:
    Simon Lessard

  • ADF Faces 10.1.3.0.4 - two-digit-year-start has no effect?

    Hi all,
    I have problem with entering date with an af:selectInputDate control:
    the user enters the date and on an onblur event, the adf field
    automatically reformats it:
    10.10.10 ->10.10.2010
    10.10.60 ->10.10.1960
    The user (customer) wants 2 things to change:
    1. if the given two digit year <= actual year (06):
    10.10.06 ->10.10.2006
    otherwise
    10.10.07 ->10.10.1907
    2. by entering a date, adf have to be accept the date without dots too:
    101006 ->10.10.2006
    1.: I tried to set theconfig param: <two-digit-year-start>2006</two-digit-year-start> (or with an EL expression) in the adf-faces-config.xml but it has no effect.
    Is it a totally wrong idea or is it a bug?
    Any other idea?
    2.: Is it possible to solve this problem with a built in control or converter? Or do i have to write my own converter?
    Thanks for any help!

    The exception is gone - I must have had something wrong in my classpath. However, I still see the warnings. Are those warnings expected when using ADF in conjunction with myfaces?

  • ADF Faces: how to extend one of the faces components

    Hi all,
    I am thinking of extending the built-in ADF Faces CommandMenuItem component (to work around a bug that was filed). The only thing that I think I need to do is to add an additional property - I don't believe that I will need to add any additional behavior to the tag.
    Can anyone comment on (high level) the steps that I would need to go through? I'd like to
    a). Add the property
    b). Make sure the property shows up in the JDev property inspector
    c). Inherit everything else from CoreCommandMenuItem.
    I've looked at the source code (from the Apache guys), and this doesn't look too hard. I don't want to re-compile the whole Apache drop, just create a new component as described above, but I've no idea really where to start.
    Any insights appreciated,
    John

    Hello John,
    I don't know how possible it will be. It depend on what kind of property you want to add. Here are the general indications to acheive this.
    1) Make a custom component class extending CommandMenuItem class and add an additional property.
    2) Extends the commandMenuItem tag clas with your own
    3) override the method public void setProperties(javax.faces.component.UIComponent component)
    you just have to call the parent first which is the specification behavior anyway, so:
    public void setProperties(UIComponent component) {
    super.setProperties(component);
    // Cast the component to your component class and set your additional property on it
    4) The hard part... This is where I'm unsure of the procedure, but I would say that you'll have to extends ADF Faces's renderer for commandMenuItem and find a way to push the property in it if it has to be sent to the client. This seem really annoying to do. One way to do it would be to wrap the ResponseWriter so you can intercept what the parent renderer encodes and insert your property in the right spot. That strategy requires an additional (probably intern) class extending ResponseWriter. Then you would have to do something like this:
    FacesContext context = FacesContext.getCurrentInstance();
    ResponseWriter initial = context.getResponseWriter();
    context.setResponseWriter(new MyWrapperWriter(initial));
    super.encodeBegin(context, component);
    context.setResponseWriter(initial);
    The Wrapper would have to override all methods and delegate the call to the wrapped instance. When calling startElement(String) you would add a call to writeAttribute for your own property.
    5) For showing the property in the property editor panel you must fill a faces-config.xml file with the <component> tag. Since that one does not allow inheritance (which is really annoying imho) you'll have to copy most of the properties from adf faces' faces-config.xml file.
    6) Fill the tld for your new tag
    7) JAR the whole thing
    8) Edit your tag library from Tool in the menu I think (not on a computer with JDev installed atm so cannot be sure). Add your library that you just created. If faces.config.xml and the .tld are well made JDev will figure prety much everything on its own. You will now have a new choice in the dropdown menu of the component palette for your custom library.
    I hope I was decently clear.
    Regards,
    Simon Lessard

  • Initializing an ADF Faces selectManyListbox Component

    I am trying to show a selectManyListbox with some values already selected for an edit page, but all i get is a selectManyListbox with no values selected?
    I build the <af:selectManyListbox> using a <af:forEach> which iterates through a List of custom TermType objects creating a <af:selectItem> with each iteration <af:selectItem>'s value property is assigned to an actual object (the toString() method of the object has been overriden to return a simple id string) and the label property is set to label="#{termType.term_type_name}" which produces a String.
    I have set <af:selectManyListbox... valuePassThru="true" ... value="#{TermBean.selectedTermTypes}"...>
    I have configured the function ---> "TermBean.selectedTermTypes" to return a List of "TermType" custom objects and didn't work... return a List of Strings (that match the value sent through to the outputted web page) and finally to return a String[] matching the value property outputted, but no luck....
    when using plain old <h:selectManyListbox> i can get it displaying with selected items when setting the "value" property to String[] of selected items (the Strings match the outputted value) but of cource this dosn't render nicely with all the extras like the adf selectManyListbox.
    i have also tried to do the job in java code hence the "binding" attrib being set to binding="#{TermBean.selectManyTermTypes}"
    Here is the page section that creates the selectManyListbox...
    region_term.jspx
    <?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:afh="http://xmlns.oracle.com/adf/faces/EA17/html"
    xmlns:af="http://xmlns.oracle.com/adf/faces/EA17">
    <jsp:directive.page contentType="text/html;charset=utf-8"/>
    <af:regionDef var="region_term">
    <af:panelForm>
    <af:inputText label="#{bundle.TERM_NAME}:" value="#{TermBean.tempTerm.term_name}" required="#{region_term.required_term_name}"/>
    <af:selectManyListbox label="#{bundle.TERM_TYPE_S}:" required="#{region_term.required_term_type}" valuePassThru="true" binding="#{TermBean.selectManyTermTypes}" value="#{TermBean.selectedTermTypes}">
    <af:forEach var="termType" items="#{TermBean.allTermTypes}">
    <af:selectItem value="#{termType}" label="#{termType.term_type_name}"/>
    </af:forEach>
    </af:selectManyListbox>
    <af:inputText label="#{bundle.TERM_TEXT}:" value="#{TermBean.tempTerm.term_text}" required="#{region_term.required_term_text}" rows="6" columns="60"/>
    </af:panelForm>
    </af:regionDef>
    </jsp:root>
    <af:selectManyListbox label="#{bundle.TERM_TYPE_S}:" required="#{region_term.required_term_type}" valuePassThru="true" binding="#{TermBean.selectManyTermTypes}" value="#{TermBean.selectedTermTypes}">
    <af:forEach var="termType" items="#{TermBean.allTermTypes}">
    <af:selectItem value="#{termType}" label="#{termType.term_type_name}"/>
    </af:forEach>
    </af:selectManyListbox>
    TermBean.allTermTypes = a List of custom Term objects
    Can anybody tell me if they have managed to get a <af:selectManyListbox> with items already selected when the page loads?

    i realize valuePassThru is used for passing the value of your object or primitive through to the client... i have it off now and the problem isn't solved... the main issue is in the following:
    <af:selectManyListbox... value="#{TermBean.selectedTermTypes}">
    <af:forEach var="termType" items="#{TermBean.allTermTypes}">
    <af:selectItem value="#{termType}" label="#{termType.term_type_name}"/>
    </af:forEach>
    </af:selectManyListbox>
    if value="#{TermBean.selectedTermTypes}" is a List of "termType "objects (want these to be selected when the page loads) of the same type as var="termType" items="#{TermBean.allTermTypes}" i.e. getSelectedTermTypes() returns a List of objects of the type termType... why is the select box rendering with no selected items?

  • Controlling SelectManyCheckbox layout in ADF Faces

    Hi,
    The only possibilities for the layout for an ADF faces select many checkbox seem to be "horizontal" or "vertical". How can we control the layout to say - have 10 checkboxes laid out horizontally in two groups of 5 vertically laid out checkboxes ?
    If there is no such attribute to control the layout better, does anyone have any recommendations on how this can be accomplished in any alternative way?
    Thank you

    Hi,
    no, but what about using a scrollbar?
    <af:form inlineStyle="width:400px; height:200px; overflow:auto;">
              <af:selectManyCheckbox label="Departments" layout="vertical">
                <af:forEach items="#{bindings.DepartmentsView1.rangeSet}" var="li">
                  <af:selectItem label="#{li.DepartmentName}"
                                 value="#{li.DepartmentId}"/>
                </af:forEach>
              </af:selectManyCheckbox>
            </af:form>Frank

  • About skinning in ADF Faces EA19

    I'm working with skinning adf faces technology and I'm trying to personalize .AFErrorIcon style with my own icon but it doesn't work. The image is not rendered. Can somebody help with this, please...
    Thanks,
    Victor

    I am also trying to customize the skin for menu tab. However, it doesn't use the selectedIcons.
    My JSP is :
    <af:menuTabs var="item" value="#{Application.views}" >
    <f:facet name="nodeStamp">
    <af:commandMenuItem text="#{item.label}" action="#{item.select}" selected="#{item.selected}" />
    </f:facet>
    </af:menuTabs>
    The demo uses goCommandItem and doesn't use facet "nodeStamp". I tried to change the property to selected ="true" and it still doesn't use the right icon. Could anyone let me know if it is a bug?

  • Tool tip in EO/VO does not work in ADF Faces  ?

    Hi,
    I set tool tip in Control hints of Entity Object / View Object. But when I use the VO in ADF faces page, the tool tip text does not displays.
    (It does work when using ADF BC Tester)
    Is it only for swing application ?
    Thanks,
    xtanto

    I've raised a bug on this bug:563929
    I'd expect the ADF Faces components to reflect the Tooltip attibute that you set in ADF BC. I also raised the point that everywhere else we talk about "tooltip" except in JSF when we refer to "shortDesc" (and the attribute "Tip" is something else as well!),
    No wonder we missed this ;o)
    Thanks
    Grant

  • ADF Faces - access to content in WEB-INF directory

    Hello,
    I create simple JSF application that use ADF Faces and deploy it to Oracle iAS. But why can i also access files in WEB-INF directory? For example, the following URL - http://myserver.si/MyApp/faces/WEB-INF/web.xml - will return the content of XML file. By my knowledge of J2EE architecture, access to this directory should be forbidden.
    Should I set some parameter on javax.faces.webapp.FacesServlet servlet filter to prevent access to WEB-INF directory? Thank you for help.
    Google also found the following links:
    - http://mail-archives.apache.org/mod_mbox/myfaces-dev/200602.mbox/%[email protected]%3E
    - http://svn.apache.org/viewcvs.cgi//myfaces/core/trunk/api/src/main/java/javax/faces/webapp/FacesServlet.java/?rev=375489&view=diff&r1=375489&r2=375488&p1=/myfaces/core/trunk/api/src/main/java/javax/faces/webapp/FacesServlet.java&p2=/myfaces/core/trunk/api/src/main/java/javax/faces/webapp/FacesServlet.java
    Regards,
    Matic

    Hi,
    the reason for this is that the WEB-INF directory is protected against direct client (browser) requests. Using Faces, the JSF servlet performs this access as a server side forward request in which case there is no container-managed protection.
    If you want to avoid this then you can write a servlet filter in fron of JSF in which you check for any occurences of directories you want to prohibit access to.
    Its not a bug, its the way J2EE is designed ;-(
    Frank

  • ADF Faces is not supported on IE running in compatibility mode

    hi
    In the blog post "Running ADF Faces applications with IE 9 in IE 8 compatibility mode "
    at https://blogs.oracle.com/jdevotnharvest/entry/running_adf_faces_applications_with_ie_9_in_ie_8_compatibility_mode
    Frank Nimphius explains about headers to make IE browsers behave like a previous version (in compatibility mode), but ends with this support information:
    Very Important(!)
    ADF Faces is not supported on IE running in compatibility mode. If using ADF Faces on IE in production, make sure IE is configured to run in native mode. Compatibility mode may only be used during development if your IE version is not certified with the JDeveloper version you work with. In production then you need to make sure the IE version matches the JDeveloper certification matrix.Reviewing the Release 1 "Certification and Support Matrix "
    at http://www.oracle.com/technetwork/developer-tools/jdev/index-091111.html#Browsers
    it currently says
    "For Internet Explorer 8 and 9, only Native mode is supported. View Compatibility mode should be disabled. "
    But there currently are no hits when searching for "compatibility" in the Release 2 "Certification and Support Matrix "
    at http://www.oracle.com/technetwork/developer-tools/jdev/jdev11gr2-cert-405181.html#Browsers
    - (q1) ADF Faces is not supported on IE running in compatibility mode, how much of that applies to JDeveloper Release 2 and where has it been documented?
    many thanks
    Jan Vervecken

    Thanks for your reply Frank.
    Frank Nimphius wrote:
    its bug 13906617 "ADD ADF FACES NOT SUPPORTED ON IE COMPATIBILITY MODE TO THE DOCUMENTATION"
    I was unable to find bug 13906617 on My Oracle Support. Has bug 13906617 been published?
    thanks
    Jan

  • ADF FACES: jdeveloper hangs on opening a .jspx file

    I may not have had this file open since updating to EA13, but I'm not positive. Upon trying to open the file (code below), jdeveloper hangs. It sucks down roughly 50% of the CPU and the memory footprint slowly grows (about 3 MB per minute). As of now, I've tried restarting jdeveloper and then opening the file, but the behavior is the same. I have let it run for nearly 15 minutes and it is still hung (to the point that the display is not redrawn when a window, such as the task manager, is closed after obscuring part of the jdeveloper window).
    I'm running jdev version 10.1.3.0.2.223
    ADF Faces EA13
    On windows 2003 Server
    Here's the code:
    <?xml version='1.0' encoding='iso-8859-1'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"
    xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"
    xmlns:af="http://xmlns.oracle.com/adf/faces/EA13"
    xmlns:afh="http://xmlns.oracle.com/adf/faces/EA13/html"
    xmlns:c="http://java.sun.com/jsp/jstl/core">
    <jsp:directive.page contentType="text/html;charset=iso-8859-1"/>
    <f:view>
    <afh:html>
    <afh:head title="Case Details">
    <!--<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>-->
    <title>
    Case Details
    </title>
    </afh:head>
    <afh:script source="js/mwb_gecko.js" rendered="#{clientInfo.gecko}"/>
    <afh:script source="js/mwb.js"/>
    <afh:body>
    <af:form>
    <af:panelPage title="Case Details">
    <f:facet name="messages">
    <af:messages/>
    </f:facet>
    <f:facet name="brandingApp">
    <af:panelGroup>
    <af:outputFormatted value="MedCierge Workbench" styleClass="OraHeader"/>
    <af:objectImage source="/images/pbs.gif"/>
    </af:panelGroup>
    </f:facet>
    <f:facet name="brandingAppContextual">
    <af:outputFormatted value="Flagship Healthcare Management, Inc."
    styleUsage="inContextBranding"/>
    </f:facet>
    <f:facet name="menuGlobal">
    <af:menuButtons>
    <af:commandMenuItem text="Home" action="agenthome"/>
    <af:commandMenuItem text="Logout" action="logout"/>
    <af:commandMenuItem text="Help" action="help"/>
    </af:menuButtons>
    </f:facet>
    <f:facet name="infoUser">
    <af:outputText value="Logged in as #{sessionScope.agentName}"
    styleClass="OraPageStampText"/>
    </f:facet>
    <f:facet name="actions">
    <af:panelButtonBar>
    <af:commandButton id="ReturnButton"
    textAndAccessKey="&amp;Return to #{pageFlowScope.caseReturnName}"
    action="#{nav.returnFromFlow}"/>
    </af:panelButtonBar>
    </f:facet>
    <f:facet name="appCopyright">
    <af:outputText value="copyright facet"/>
    </f:facet>
    <f:facet name="appPrivacy">
    <af:commandLink text="privacy facet" action="action.none" />
    </f:facet>
    <f:facet name="appAbout">
    <af:commandLink text="about facet" action="action.none" />
    </f:facet>
    <af:panelGroup type="vertical">
    <af:panelForm labelWidth="5%">
    <af:panelLabelAndMessage label="Owner:">
    <af:outputText value="#{pageFlowScope.case.owningAgentId}"
    styleClass="OraFieldText"/>
    <af:outputFormatted value=" &lt;b>[You own this case]&lt;/b>"
    styleClass="OraFieldText"
    rendered="#{pageFlowScope.case.owningAgentId == sessionScope.agentId}"/>
    <af:outputFormatted value=" &lt;b>[You do not own this case]&lt;/b>"
    styleClass="OraFieldText"
    rendered="#{pageFlowScope.case.owningAgentId != sessionScope.agentId}"/>
    </af:panelLabelAndMessage>
    <af:inputText label="Case ID:" value="#{pageFlowScope.case.id}" columns="10"
    readOnly="true" shortDesc="Unique ID for this case"/>
    <af:inputText value="#{pageFlowScope.case.serviceType}" label="Service Type:"
    columns="10" readOnly="true"
    shortDesc="Service requested: 'referral' or 'emergency'"/>
    <af:inputText value="#{pageFlowScope.case.openDate}" label="Opened:"
    columns="10" readOnly="true" shortDesc="Date this case was opened">
    <f:convertDateTime pattern="MM/dd/yy HH:mm"/>
    </af:inputText>
    <af:inputText value="#{pageFlowScope.case.closeDate}" label="Closed:"
    columns="10" readOnly="true" shortDesc="Date this case was closed"
    inlineStyle="{color: red}"
    rendered="#{!(empty pageFlowScope.case.closeDate)}">
    <f:convertDateTime pattern="MM/dd/yy HH:mm"/>
    </af:inputText>
    <af:inputText value="#{pageFlowScope.case.primaryRequest}" label="Primary Request:"
    columns="80" readOnly="true"
    shortDesc="Short summary of the member's request"/>
    <af:inputText value="#{pageFlowScope.case.appointmentPreferences}"
    label="Appt. Preferences:" columns="80" readOnly="true"
    shortDesc="Member's preferences on appointment times"/>
    <af:inputText value="#{pageFlowScope.case.callbackData}" label="Call Back Data:"
    columns="40" readOnly="true"
    shortDesc="Phone/email to use for calling member back"/>
    </af:panelForm>
    <af:panelGroup type="vertical">
    <af:forEach items="#{pageFlowScope.case.activitiesByDate}" var="act">
    <af:objectSpacer height="10" width="0"/>
    <af:objectSeparator/>
    <af:outputFormatted value="&lt;b>#{act.date}&lt;/b>" inlineStyle="{background-color:#cccc99}"/>
    <af:objectSpacer height="5" width="1"/>
    <af:panelGroup type="horizontal">
    <af:panelForm>
    <af:inputText label="ID:" value="#{act.id}" readOnly="true"/>
    <af:inputText label="Type:" value="#{act.type}" readOnly="true"/>
    <af:inputText label="MedCierge:" value="#{act.agentId}" readOnly="true"/>
    </af:panelForm>
    <af:objectSpacer width="5" height="1"/>
    <af:inputText rows="4" readOnly="true" columns="80" value="#{act.notes}"/>
    </af:panelGroup>
    <!-- Output data specific to Inbound Call activities -->
    <af:objectSpacer height="10" width=""/>
    <af:panelGroup rendered="#{act.type=='ibcall'}">
    <af:commandButton text="Show Call Details" action="dialog:showCall"
    partialSubmit="true" rendered="#{!(empty act.call)}"
    windowHeight="500" windowWidth="750">
    <af:setActionListener from="#{act.call}"
    to="#{pageFlowScope.call}"/>
    </af:commandButton>
    </af:panelGroup>
    <!-- Output data specific to Inbound Email activities -->
    <af:panelGroup rendered="#{act.type=='ibemail'}">
    <af:outputText value="Inbound email #{act.type}"/>
    </af:panelGroup>
    <!-- Output data specific to Outbound Call activities -->
    <af:panelGroup rendered="#{act.type=='obcall'}">
    <af:outputText value="Outbound Call #{act.type}"/>
    </af:panelGroup>
    <!-- Output data specific to Outbound Email activities -->
    <af:panelGroup rendered="#{act.type=='obemail'}">
    <af:outputText value="Outbound email #{act.type}"/>
    </af:panelGroup>
    </af:forEach>
    </af:panelGroup>
    </af:panelGroup>
    </af:panelPage>
    </af:form>
    </afh:body>
    </afh:html>
    </f:view>
    </jsp:root>

    Helo there,
    I am having exactly the same problem, everytime I include af:forEach tag inside the af:selectOneChoice for example, preview of JSP is not shown and whole developer hangs, in task manager I can see 100% CPU occupation by JDeveloper.
    But the code itself is ok, if I run the page while editor is in Source mode Page is properly shown in browser, but when I change editor mode to Design it hangs.
    I am using Faces EA17 and JDeveloper 10.1.3
    Does anybody else face the same issue?
    ferdo

  • JDEV 10.1.3: Using "Create" binding on BC view object with ADF Faces Table

    Hello,
    I am trying to get this to work, but to no avail:
    I've got a very simple page (ADF Faces - JSPX) created by dragging an iterator from the data control pallete on to my page and picking "ADF Table..." as my chose to create. This creates a table on my page that allows me to edit each row in place. Very nice.
    Now, I dragged the create operation for that iterator on to the page. What I had hoped to see is that when I click "Create," a new blank row appears in my table (well, at least a row that is blank except for any default values specified in the EO/VO and my overriden create() method).
    However, this doesn't happen. The page submits and refreshes, but no blank row shows up. I initially tried setting the Create button to do partial submit and setting the partialtriggers for the table to include the Create button, to no avail. I also tried it without the partial submit with the same results.
    So:
    1). Should this work, or is this behavior a bug.?
    2). If not, is there a different/better way of doing it?
    Regards,
    John

    G'day John
    I think I can give you a hint of what is occuring... I'm still trying to work out what is happening exactly.
    In JDev 10.1.2 UIX, when the user invoked the create action, they would see the blank record added to the underlying table. Under 10.1.3 Faces the functionality is somewhat different.
    When you the user clicks on the create action a blank record is created but not shown in the table control. To prove the blank record is there try this:
    1) Build an ADF Input Form based on the same VO iterator
    2) In your JSF navigation, create a navigation case between the existing page and the new page, and another back again,
    3) In the existing page, map the Create button's action attribute to navigate to the ADF Input Form
    4) In the ADF Input Form, map the Submit button's action attribute to navigate to the ADF Table page.
    Now when you run your app, notice when you create a new record in the ADF Table which automatically takes you to the ADF Input Form, note the blank record, and the details you enter into the record here and submit, are then visible in the ADF Table on the return.
    This is a long way of proving that the new record is in the table. It's just you can't see it.
    I have a theory which I'm trawling through the newly updated documentation to verify. This issues goes back to the VO createRow vs insertRow method calls that have been documented by Steve Muench a couple of times. I'm guessing the table control is now smarter and doesn't show createRow records, only insertRow records.
    Read one of Steve's posts here regards the createRow vs insertRow method calls:
    http://www.oracle.com/technology/products/jdev/tips/muench/blankrow/index.html
    If I find anymore info I'll endeavour to post it.
    Meanwhile this of course doesn't help you if you actually want to show the blank row in the ADF Table editable control, but I'd thought I'd give you an idea of what's happening behind the scenes.
    Hope this helps.
    CM.

Maybe you are looking for

  • Which is better to use: BEx query or Web Application as an iView in portal?

    Hi gurus! Are there any experienced opinions, which is better - publish a BEx query in portal or publish a BEx Web Application in portal? Is it easier to alter the layout attributes etc. if I create a BEx Web Application first before publishing? What

  • Photo resolution in iMovie

    I'm trying to make a presentation using 30 short video clips and several hundred photos. The video clips look great, however when I import the photos into iMovie, the resolution is terrible and extremely noticeably different than the same photos in i

  • "Table in Table" in PDF Form

    Hi all, in my webdynpro view's content is two-level structure. Under top node is another non-singleton node and within this node another non-singleton node. I would like to display such structured information in PDF Form. I have created Subform (flow

  • Feathering  while saving for web

    Hi! I made this figure: http://luniwei.com/temp/1.jpg (green one) It is relatively little I want to save it for web, but quality is very bad. Its seems to me illustrator adds feather feature: http://luniwei.com/temp/2.jpg Result picture is unclear. C

  • Nokia N95 : Cant Turn On

    My Nokia N95 is not turning on after I connect it on a usb charger.