ADF Faces: Changing "rendered" property in PPR: JDev 10.1.3

Hello all,
I have an ADF Faces page that has an af:CommandButton on it. The rendered property of the button is set to an EL expression that references the model (ADF BC). When the page is submitted (via an af:CommandButton with PartialPage=true), the rest of the page refreshes properly to reflect the changed model state, but the command button with the conditional rendered property is not disappearing as expected (the button is initially rendered=true). I remember reading recently about a similar issue if the button is initially not visible, and I'm not sure if this is related.
Interestingly, if I click on the button (which should no longer be visible after the PPR event), it does nothing - so it appears to be merely a visual problem. I have also tried setting the disabled property to an EL expression that is the opposite of the rendered property, and the button does not change to be disabled, either.
Any thoughts? At this point, it looks like a bug/feature.
Kind regards,
John
Should I be able to do this?

John,
if you wrap the button in a panel (e.g. buttonpanel) and set the PPR to this panel, does it work ?
Frank

Similar Messages

  • MyFaces not rendering, ADF faces IS rendering

    I'm installing my app on the websphere application server, Version 6.1 After having issues of both adf and myfaces not working, I came accross this link which helped me somewhat. http://wiki.apache.org/myfaces/Websphere_Installation .
    By "not working" I mean that my jsp would have <h:commandLink>'s and <af:commandButton/> however the html was never actually generated. (You could view the pages source and the resulting html page was blank).
    After following those instructions, ADF components are correctly rendered, and the html works. However, I can not use any <h:> or <h:> components.
    Keep in mind, every single part of this used to work while using Tomcat (I think it was 5.5, not 6).
    faces-config-app.xml (our replacement for faces-config).
    <?xml version="1.0"?>
    <!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>
         <!-- ************ Application wide settings **************** -->
         <application>
              <!-- Spring resolve allows access to spring managed beans from <managed-bean> tags -->
              <variable-resolver>org.springframework.web.jsf.DelegatingVariableResolver</variable-resolver>
              <!-- Local setup -->
              <locale-config>
                   <default-locale>en</default-locale>
                   <supported-locale>en</supported-locale>
              </locale-config>
              <!-- Message bundle base name -->
              <message-bundle>messages</message-bundle>
              <!-- Use the ADF Faces render kit -->
              <default-render-kit-id>oracle.adf.core</default-render-kit-id>
         </application>
         <lifecycle>
                <phase-listener id="responseHeaderController">com.unyric.cias.cm.web.util.HttpResponseHeaderController</phase-listener>
         </lifecycle>
    </faces-config>web.xml (Yes there is a lot of extra things in there such as application context params, but I wanted to paste the whole thing. Please bear with me).
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
         <display-name>CIAS Case Management Web</display-name>
         <context-param>
              <description>JSF state setting: Keep state of views on client</description>
             <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
             <param-value>client</param-value>
         </context-param>
         <context-param>
              <description>JSF configuration files</description>
             <param-name>javax.faces.CONFIG_FILES</param-name>
             <!-- faces-config.xml contains applicaiton level configuration
                   faces-config-nav.xml contains screen flow configuration
                   faces-config-beans.xml contains managed bean definitions -->
             <param-value>/WEB-INF/faces-config-app.xml,/WEB-INF/faces-config-nav.xml,/WEB-INF/faces-config-beans.xml</param-value>
         </context-param>
         <context-param>
              <description>Spring configuration files</description>
              <param-name>contextConfigLocation</param-name>
              <!-- presentationContext.xml contains presentation tier object configuration
                         applicationContext.xml contains Service & Dao object configuration as well as transaction demarcation
                         securityContext.xml contains Acegi Security configuration
                         hibernate.cfg.xml contains Hibernate specific configuration -->
                <param-value>/WEB-INF/presentationContext.xml classpath*:spring/applicationContext.xml classpath*:spring/validationContext.xml classpath*:spring/securityContext.xml classpath*:spring/hibernate.cfg.xml</param-value>
         </context-param>
         <context-param>
              <description>Validates JSF configuration files on startup</description>
             <param-name>org.apache.myfaces.validate</param-name>
             <param-value>true</param-value>
            </context-param>  
         <context-param>
              <description>Timmer Setting for Case Queue screen</description>
                 <param-name>pollingTimer</param-name>
                 <!-- Units are milliseconds -->
                 <param-value>60000</param-value>
         </context-param>
         <context-param>
              <description>Maximum number of rows shown in tables.</description>
                 <param-name>tableRowsPerPage</param-name>
                 <param-value>25</param-value>
         </context-param>
         <servlet>
              <description>JSF controller</description>
                 <servlet-name>FacesServlet</servlet-name>
                 <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
                 <load-on-startup>1</load-on-startup>
         </servlet>
         <!-- Requests handled by JSF -->      
         <servlet-mapping>
               <servlet-name>FacesServlet</servlet-name>
                <url-pattern>*.do</url-pattern>
         </servlet-mapping>
         <servlet>
                <description>Serves up ADF Faces resources</description>
                <servlet-name>AdfResourceServlet</servlet-name>
                <servlet-class>oracle.adf.view.faces.webapp.ResourceServlet</servlet-class>
         </servlet>
         <servlet-mapping>
             <servlet-name>AdfResourceServlet</servlet-name>
             <url-pattern>/adf/*</url-pattern>
         </servlet-mapping>
         <listener>
              <description>Initializes Spring on application startup.</description>
              <display-name>Spring context loader</display-name>
              <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
         </listener>
         <filter>
              <description>Enables Acegi Security framework integration. Acegi is used to secure services.
              Standard J2EE is used to secure web requests.</description>
              <filter-name>AcegiFilterChainProxy</filter-name>
              <filter-class>org.acegisecurity.util.FilterToBeanProxy</filter-class>
              <init-param>
                   <param-name>targetClass</param-name>
                   <param-value>org.acegisecurity.util.FilterChainProxy</param-value>
              </init-param>
         </filter>
         <filter-mapping>
              <filter-name>AcegiFilterChainProxy</filter-name>
              <servlet-name>FacesServlet</servlet-name>
         </filter-mapping>
         <filter>
                <description>Pre-processes requests to enable MyFaces extensions</description>
              <filter-name>MyFacesExtensionsFilter</filter-name>
              <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
             <init-param>
             <!-- Set the size limit for uploaded files.
               Format: 10 - 10 bytes
                       10k - 10 KB
                       10m - 10 MB
                       1g - 1 GB
               -->
                   <param-name>uploadMaxFileSize</param-name>
                    <param-value>6m</param-value>
             </init-param>
             <init-param>
                   <param-name>uploadThresholdSize</param-name>
                    <param-value>100k</param-value>
             </init-param>        
         </filter>
         <!-- MyFaces extension mapping for adding <script/>, <link/>, and other resource tags to JSF-pages  -->
           <filter-mapping>
                <filter-name>MyFacesExtensionsFilter</filter-name>
             <servlet-name>FacesServlet</servlet-name>
         </filter-mapping>
         <!-- MyFaces extension mapping for serving page-independent resources (javascript, stylesheets, images, etc.)  -->
         <filter-mapping>
             <filter-name>MyFacesExtensionsFilter</filter-name>
             <url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
         </filter-mapping>
         <filter>
              <description>Pre-processes requests to enable ADF Faces functionality</description>
              <filter-name>AdfFacesFilter</filter-name>
              <filter-class>oracle.adf.view.faces.webapp.AdfFacesFilter</filter-class>
         </filter>
           <filter-mapping>
                <filter-name>AdfFacesFilter</filter-name>
             <servlet-name>FacesServlet</servlet-name>
         </filter-mapping>
         <!-- Sitemesh Template Filter --> 
         <filter>
              <filter-name>sitemesh</filter-name>
              <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>
         </filter>
         <filter-mapping>
              <filter-name>sitemesh</filter-name>
              <url-pattern>/*</url-pattern>
         </filter-mapping>     
         <!-- Keep Hibernate sessions open until request completes. This allows lazy loading
              of data in all tiers. -->
         <filter>
              <filter-name>OpenSessionInViewFilter</filter-name>
              <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
              <init-param>
                   <param-name>sessionFactoryBeanName</param-name>
                   <param-value>ciasSessionFactory</param-value>
              </init-param>
              <init-param>
                   <param-name>singleSession</param-name>
                   <param-value>false</param-value>
              </init-param>
         </filter>
         <filter-mapping>
              <filter-name>OpenSessionInViewFilter</filter-name>
              <servlet-name>FacesServlet</servlet-name>
         </filter-mapping>
         <!-- The application automatically sends requests at timed intervals. This causes
                    the standard J2EE session to be refreshed at the timed intervals and thus it will
                    never timeout. This filter is used to distinguish between user prompted and
                    automatic requests. -->
         <filter>
              <filter-name>SessionTimeout Filter</filter-name>
              <filter-class>com.unyric.cias.cm.web.filter.SessionTimeoutFilter</filter-class>
              <init-param>
                   <!-- URL to be displayed after session timeout -->
                   <param-name>redirectUrl</param-name>
                   <param-value>timeOut.jsp</param-value>
              </init-param>
              <init-param>
                   <param-name>sessionTimeout</param-name>
                   <!-- Units are in minutes -->
                   <param-value>20</param-value>
              </init-param>
         </filter>
         <filter-mapping>
              <filter-name>SessionTimeout Filter</filter-name>
              <url-pattern>/secure/*</url-pattern>
         </filter-mapping>
         <!-- Session Timeout (in minutes)
              We are essentially disabling container session
              handling in favor of SessionTimout Filter -->
           <session-config>
                <session-timeout>99</session-timeout>
           </session-config>
           <!-- Security Configuration -->
           <security-constraint>
                <web-resource-collection>
                     <web-resource-name>FacesServlet security</web-resource-name>
                     <url-pattern>*.do</url-pattern>
                     <!-- No <http-method> tag implies all methods -->
                </web-resource-collection>
                <web-resource-collection>
                     <web-resource-name>View security</web-resource-name>
                     <url-pattern>/secure/*</url-pattern>
                     <!-- No <http-method> tag implies all methods -->
                </web-resource-collection>
                <auth-constraint>
                     <description>Allow any authenticated user</description>
                     <role-name>*</role-name>
                </auth-constraint>
          </security-constraint>
           <login-config>
                <auth-method>BASIC</auth-method>
                <realm-name>CIAS-CM</realm-name>
           </login-config>
           <security-role>
                <!-- Roles recognized by Case Management. -->
                <!-- EXACT NAMES MUST BE COORDINATED WITH CHOICEPOINT -->
                 <role-name>case</role-name>
         </security-role>
         <welcome-file-list>
              <welcome-file>index.jsp</welcome-file>
         </welcome-file-list>
         <!--  CIAS CM Database -->
         <resource-ref>
              <res-ref-name>jdbc/cias</res-ref-name>
                <res-type>javax.sql.DataSource</res-type>
                <res-auth>Container</res-auth>
                <res-sharing-scope>Shareable</res-sharing-scope>
            </resource-ref>
         <!--  CIAS Error Handling   -->
           <error-page>
                 <error-code>500</error-code>
                 <location>/secure/errorPage.jsp</location>
           </error-page>
           <error-page>
              <exception-type>javax.faces.FacesException</exception-type>
              <location>/secure/errorPage.jsp</location>
           </error-page>     
    </web-app>Does anyone have any suggestions? Telling websphere to load the web-inf\lib directory before the AppServer\lib directory seems to have somewhat worked, but not completely.
    On a side note, if I have a page such as (ignoring the extra h, f and t declarations)
    <%@ taglib prefix="h"uri="http://java.sun.com/jsf/html" %>
    <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
    <%@ taglib prefix="t" uri="http://myfaces.apache.org/tomahawk" %>
    <%@ taglib prefix="af" uri="http://xmlns.oracle.com/adf/faces" %>
    <f:view>
         <af:document>
              <af:form>
                   <af:outputText value="hello2"/>
                   <af:commandLink id="button" action="#{exploreCaseListAction.promptPersonalQueue}" text="Login"/>
              </af:form>
         </af:document>
    </f:view>When I click on the commandLink button, I receive an error that states
    java.lang.ClassCastException: org.apache.xalan.processor.TransformerFactoryImpl incompatible with javax.xml.transform.TransformerFactory
    at javax.xml.transform.TransformerFactory.newInstance(Unknown Source)
    at com.ibm.ws.jsp.translator.visitor.validator.PageDataImpl._getInputStream(PageDataImpl.java:125)
    at com.ibm.ws.jsp.translator.visitor.validator.PageDataImpl.getInputStream(PageDataImpl.java:117)
    at org.apache.taglibs.standard.tlv.JstlBaseTLV.validate(JstlBaseTLV.java:156)
    at org.apache.taglibs.standard.tlv.JstlCoreTLV.validate(JstlCoreTLV.java:96)
    at com.ibm.ws.jsp.translator.visitor.validator.ValidateVisitor.validateTagLib(ValidateVisitor.java:988)
    at com.ibm.ws.jsp.translator.visitor.validator.ValidateVisitor.visitJspRootStart(ValidateVisitor.java:467)
    at com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java:138)
    at com.ibm.ws.jsp.translator.visitor.JspVisitor.visit(JspVisitor.java:121)
    at com.ibm.ws.jsp.translator.JspTranslator.processVisitors(JspTranslator.java:121)
    at com.ibm.ws.jsp.translator.utils.JspTranslatorUtil.translateJsp(JspTranslatorUtil.java:181)
    at com.ibm.ws.jsp.translator.utils.JspTranslatorUtil.translateJspAndCompile(JspTranslatorUtil.java:83)
    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.translateJsp(AbstractJSPExtensionServletWrapper.java:349)
    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper._checkForTranslation(AbstractJSPExtensionServletWrapper.java:317)
    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.checkForTranslation(AbstractJSPExtensionServletWrapper.java:226)
    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:131)
    at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:308)
    at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:416)
    at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:234)
    at oracle.adfinternal.view.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:157)
    at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:907)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)
    at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
    at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:367)
    at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:336)
    at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:196)
    at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:87)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
    at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
    at com.unyric.cias.cm.web.filter.ThreadContextSessionIntegrationFilter.doFilter(ThreadContextSessionIntegrationFilter.java:46)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
    at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    at org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    at com.unyric.cias.cm.web.filter.CiasIntegrationFilter.doFilter(CiasIntegrationFilter.java:112)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:193)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
    at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
    at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)I believe they are related, though I can't 100% say for sure. Any thoughts?

    I'm having the same problem, did you get any luck with this ?
    Thanks

  • [SOLVED] adf faces demo doesn't work with jdev 10.3.1.2

    Has anybody tried to run the ‘Introduction to adf faces/trinidad using jdev’ demo at
    http://www.oracle.com/technology/obe/obe1013jdev/10131/trinidad/adf_faces_trinidad.htm
    with jdev 10.1.3.2 studio?
    I am trying it and I am getting this error
    500 Internal Server Error
    java.lang.NoSuchMethodError: oracle.adf.view.faces.context.AdfFacesContextFactory.createContext(Loracle/adf/view/faces/webapp/wrapper/ContextWrapper;Loracle/adf/view/faces/webapp/wrapper/RequestWrapper;)Loracle/adf/view/faces/context/AdfFacesContext;
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterHelperImpl.startFilter(AdfFacesFilterHelperImpl.java:112)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:111)
         at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:105)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:622)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:369)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:865)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:447)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:215)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
         at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
         at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.1) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:298)
         at java.lang.Thread.run(Thread.java:595)
    Message was edited by:
    mauro avon

    We don't automatically migrate the adf-faces-api.jar since in a 10.1.3.x ADF Faces application this JAR is not part of your project's WEB-INF/lib directory.
    The issue must be specific to migrating this Apache Trinidad example.

  • ADF BC : Changing Mandatory property for the EO Attribute at runtime

    Hi all,
    I have one Entity attribute, which has to be Mandatory for all new, not yet commited row; but it is not mandatory_ for any others, existing (in the database) row. How to acquire this ?

    You might need to write a validation method to achieve this:
    check if:
    getEntityState() == Entity.STATUS_NEW or Entity.STATUS_INITIALIZED
    To show * mandatory indicator on the UI, you could use the above property exposed via some bean property/VO transient attribute...

  • ADF Faces - Change style for menuTab component

    How to change color for menuTab components (selected and enabled)?
    I do not want to create new style, all I need is just change some colors and fonts for default oracle style.
    I was able to change color for table, overridinf some styles in my css-file, but overriding
    <af_menuTabs_selected> and <af_menuTabs_enabled> did not work, because on generated html-page menuTab components do not use any styles. Is there any workaround to change color of that component?
    Thanks.

    public String commandButton_action() {
    ot_msg.setValue("Hello");
    AdfFacesContext.getCurrentInstance().addPartialTarget(ot_msg);
    The code above works fine but I nead also, in the method, to generate a excel file with JXLS librairie.
    The file can takes a long time to download and thus I want to change the value of outputText while the file is generating and not after.
    How can I do that ?
    Thanks

  • ADF Faces : partial page rendering in f:subview

    hi
    Please consider this blog post, "ADF Faces: How-to issue a PPR event from a f:subview and how-to PPR of subviews" :
    http://thepeninsulasedge.com/frank_nimphius/2008/02/14/adf-faces-how-to-issue-a-ppr-event-from-a-fsubview-and-how-to-ppr-of-subviews/
    In this post, Frank Nimphius writes : "... PPR from a containing page to the subview - unfortunately - only works for the whole subview, which means that the included page is getting refreshed. Because the f:subview component does not support PR, you need to work with a wrapping ADF Faces container, like af:panelGroup ...".
    But, it looks like such partial page rendering in a subview can be done without a specific "wrapping ADF Faces container" like this ...
            <h:form id="firstPPRPageFormID">
              <af:panelPage title="firstPPRPage">
                <af:panelHeader text="components on firstPPRPage">
                  <af:panelForm>
                    <af:panelLabelAndMessage label="dateUtil.currentDateAsString, with partial trigger">
                      <af:outputText value="#{dateUtil.currentDateAsString}"
                                     partialTriggers="firstSubviewID:firstSubviewCButton"/>
                    </af:panelLabelAndMessage>
                    <af:panelLabelAndMessage label="dateUtil.currentDateAsString">
                      <af:outputText value="#{dateUtil.currentDateAsString}"/>
                    </af:panelLabelAndMessage>
                    <f:facet name="footer">
                      <af:commandButton text="firstPPRPage button"
                                        id="firstPPRPageCButton"
                                        partialSubmit="true"/>
                    </f:facet>
                  </af:panelForm>
                </af:panelHeader>
                <f:subview id="firstSubviewID">
                  <jsp:include page="/firstSubview.jspx" flush="true"/>
                </f:subview>
              </af:panelPage>
            </h:form>... and where firstSubview.jspx contains something like this ...
      <af:panelHeader text="components on firstSubview">
        <af:panelForm>
          <af:panelLabelAndMessage label="dateUtil.currentDateAsString, with partial trigger">
            <af:outputText value="#{dateUtil.currentDateAsString}"
                           partialTriggers=":firstPPRPageFormID:firstPPRPageCButton"/>
          </af:panelLabelAndMessage>
          <af:panelLabelAndMessage label="dateUtil.currentDateAsString">
            <af:outputText value="#{dateUtil.currentDateAsString}"/>
          </af:panelLabelAndMessage>
          <f:facet name="footer">
            <af:commandButton text="firstSubview button" id="firstSubviewCButton"
                              partialSubmit="true"/>
          </f:facet>
        </af:panelForm>
      </af:panelHeader>Note the value ":firstPPRPageFormID:firstPPRPageCButton" for the partialTriggers attribute.
    see http://verveja.footsteps.be/~verveja/files/oracle/PartialPageRenderingInSubview-v0.01.zip (check README.txt)
    questions:
    (1) Why exactly does this approach seem to work?
    (2) Because of question (1), what could be potential issues with this approach?
    regards
    Jan Vervecken

    Jan,
    good job ! I actually never thought of reversing what I said about PPR'ing a component from a subview.
    Actually
    partialTriggers=":firstPPRPageFormID:firstPPRPageCButton"/>
    works because the leading ":" makes ADF Faces to start the component search from the root container. Note that if you use af:form instead of h:form, the trigger is
    partialTriggers=":firstPPRPageCButton"/>
    I'll update my blog
    Frank

  • ADF menu rendered property

    Hi! I trying to set ADF menu itemNode rendered property. In my page template I have attribute CropNameMenu. In template CommandNavigationItem I can use #{attrs.CropNameMenu} to say if it is rendered or not. But in my CommandNavigationItem I have multiple menus. And as I think I need to use ADF menu itemNode rendered property, But how to do that? Hope some one can help me.
    Waiting for response, Debuger.

    SOLVED! I forget to put {cede}#{menuInfo.rendered} for rendered property in my Pgage Template, where I use my ADF MENU MODEL
    Best regards, Debuger!                                                                                                                                                                                                                                                                                                                       

  • 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

  • Displaying BLOB image by using ADF Faces

    Hi all,
    I digged the forum but couldn't find any satisfied answer about displaying BLOB images by using ADF Faces.
    I have insterted POJO object to Oracle database but couldn't find any way to display blob (in java byte [] ) data in POJO.
    I have read the POJO object from database which contains two field; one of them is id field and other is BLOB data which holds GIF or JPG image and I want to display this image another page which contains also other fields / records ...
    thanks for your answers
    regards...
    --baris                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    This thread at Sun : http://forum.java.sun.com/thread.jspa?threadID=513804&messageID=2445090
    talks about two options for creating a graphicImage jsf tag. (img tag)
    1. Make the img tag url refer to a servlet (instead of a static image file)
    2. Embed the image into the tag as inline base64 encoded data.
    2a. Use an <Object> tag with inline data.
    1. Looks a bit complex for a simple problem.
    2 and 2a don't work with some browsers.
    - And I've not yet figured out how to hook into the ADF Faces table-rendering logic to get it to add my image column. My table binds to a collection DataControl, [which in turn retrieves from a findAllItems call on a session facade, which uses my domain model, and wraps up access to a TopLink pesistence layer]. The framework just ignores my byte[] attribute when creating the jsf table from the DataControl. All string, int etc. attributes get represented correctly in the jsf table output.

  • UIX vs ADF Faces ?

    Hi All,
    We are about to start creating UIX application, but I also read about the ADF Faces replacing UIX in next release. I am confused .. could any body pls give some info
    1) Actually what will happen with UIX in the future ?
    2) Will UIX CoExist with ADF Faces ?
    3) Can we use the UIX skill set to easily jump into ADF Faces once it is released in JDev ?
    4) Why is ADF Faces better technology than UIX ?
    Thank you for your help,
    Krist

    I think you should read two documents that will make the picture clearer for you.
    One is the UIX roadmap which is here:
    http://www.oracle.com/technology/products/jdev/collateral/papers/9.0.5.0/adfuix_roadmap/adfuix_roadmap.html
    and the other one is the new "User Interface Technology Choice for Web Deployed J2EE Applications"
    here: http://www.oracle.com/technology/products/jdev/collateral/papers/10g/whichj2eeuserinterface.pdf
    To understand why JSF and ADF Faces are better check out the latest edition of the Oracle Java Newsletter here:
    http://www.oracle.com/technology/tech/java/newsletter/archive.html
    If you didn't get this newsletter make sure to register here: http://otn.oracle.com/javanews

  • ADF Faces RichTable doesn't validate but still display changed data

    Hello,
    I think I miss something in the ADF Faces lifecycle management. Can you help me?
    In a adf faces/jsf page,
    1- I have a RichTable which DataModel is based on a List<Department> stored in a managed bean (session).
    2- I have a button "Cancel" with immediate=true partialSubmit=false (I don't use PPR) and an ActionMethod that does a few changes (not in the model) and return "success".
    When I modify a value in the table (that has some af:inputText) and click on the Cancel button, the underlying List<Department> instance isn't changed (Which I expect because of the immediate=true property!). But the table still display the changes I've typed in the page. How can I reverse the data displayed in the table to before my change in the UI (in a simple manner)? What do I miss?
    Best Regards
    Gregory

    Hi,
    immediate = true makes sure that the component is evaluated before all the other. In addition the value change event fires before the model update to give you the opportunity to prevent the update. I don't know what your managed bean code is doing, but the fact that the table has the update indicates the RC table component to work properly. Your table model isn't updated, which I don't think will be automatic. So I assume you will have to access the current selected row, get the row object and pass it to the list for an update
    Frank

  • JDeveloper Visual Editor not rendering ADF Faces

    Hi guys, thanks for read my post.
    I'm working on a MVC application, and using ADF Faces in view. I did any changes, editing my jsf pages sources.
    Now JDeveloper doesn't show the design view of no one jsf pages.
    I followed the steps enumerated by Didier Laurent in:
    http://blogs.oracle.com/Didier/2006/11/22
    (thanks Didier), but it didn't resolve the trouble.
    When i run jdev.exe instead jdevW.exe I watch the following lines:
    (digester.Digester 164) [ConverterRule]{faces-config/converter} Merge(javax.faces.Short,null)
    (digester.Digester 164) [ConverterRule]{faces-config/converter} Merge(null,java.lang.Short)
    (digester.Digester 164) [ConverterRule]{faces-config/converter} Merge(javax.faces.Byte,null)
    (digester.Digester 164) [ConverterRule]{faces-config/converter} Merge(null,java.lang.Byte)
    But I can't see the error cause,
    Have you seen this problem before?
    Thanks in advance

    Hi again, thanks for your reply Shay. I had followed this steps to, but I don't reach to get the misconfiguration or error in my faces pages for showing design time messages in log. Log is empty and if I run JDeveloper from jdev.bin I don't see more than some lines I sent before.
    Thanks

  • Adf faces skin-family change for page or component

    I know how to change this by editing adf-faces-config.xml tile. Is it possible to change the skin-family at a page level or for even for an individual component?

    You can change the skin at the page level by setting the value of the skin-family property to an expression language:
    <adf-faces-config xmlns="http://xmlns.oracle.com/adf/view/faces/config">
    <skin-family>#{skinFamily.skinSelection}</skin-family>
    </adf-faces-config>
    Where skinFamily is a managed bean and skinSelecion can be implemented as follows:
    public String getSkinSelection()
    FacesContext context = FacesContext.getCurrentInstance();
    UIViewRoot viewRoot = context.getViewRoot();
    String viewId = viewRoot.getViewId();
    System.out.println(viewId);
    if ( viewId.startsWith("/blaf/") ) {
    skinSelection = "oracle";
    else if ( viewId.startsWith("/minimal/") ) {
    skinSelection = "minimal";
    else if ( viewId.startsWith("/vantive/") ) {
    skinSelection = "vantive";
    return skinSelection;
    If you want to have two components, let's say, two tables, at the same page but with a different style you can accomplish that by using the inline-style tag.
    []'s

  • Change the default noscript message in ADF faces

    Hi, I'm developing an application using ADF faces, and i've noticed that all my pages have a <noscript>This page uses JavaScript and requires a JavaScript enabled browser.Your browser is not JavaScript enabled.</noscript>
    Is there a way to change this default message to something more useful? or maybe even styling the message

    i'm leaning towards that thought myself.. i was kind of hoping that maybe there was some default bundle i could add a magic property that would overwrite the default:(

  • Rendering problem ADF Faces OC4J

    Hello to everybody , I was trying to install ADF Faces with the new Jdeveloper , but we I run the demo, I don't get anything. I followed all the instructions of
    http://www.oracle.com/technology/products/jdev/howtos/10g/adfjsf/how-to-adf-faces-10gjdev.htm
    This is the log of OC4J
    07/08/2005 03:44:06 AM oracle.adf.view.faces.component.UIXComponentBase _getRendererImpl
    ADVERTENCIA: Could not find renderer for CoreOutputText[OutputTextFacesBean, id=text1], rendererType = oracle.adf.Text

    Hi,
    this one worked for me
    <h:form binding="#{backing_untitled1.form1}" id="form1">
    <af:commandLink text="Click me"
    binding="#{backing_untitled1.commandLink1}"
    id="commandLink1" partialSubmit="true"
    action="#{backing_untitled1.commandLink1_action}"/>
    <af:outputText value="Message"
    binding="#{backing_untitled1.outputText1}"
    id="outputText1" partialTriggers="commandLink1"/>
    </h:form>
    The action called sets a new value to the output text
    public String commandLink1_action()
    // Add event code here...
    this.getOutputText1().setValue("Hello");
    return null;
    Frank

Maybe you are looking for

  • BI Content Browser - Infocube 0BCTCBC01 obsolete?

    Hi, I wanted to get an overview of object relationships with BI Content Browser. In the BI Content documentation, there is an infocube for this 0BCTCBC01. However, when I try to activate this, the following description is written for the InfoCube : "

  • Not seeing my purchases in the "new" purchasing section on itunes?

    not seeing my purchases in the "new" purchases section of itunes?

  • Download and placing a remote pdf in an Illustrator Document.

    I'm trying to make an Illustrator that while download a pdf from a remote url and then allow the user place this on the page. I can download the pdf object no problem, but the PlacedItem needs a file handle. Is this possible or is it restricted due t

  • T2 messages not found with apexlib

    Hello , I almost successfully installed apexlib. But if an error occurs now I get a windows popup errorwindow stating that t2messages can not be found and after that the error message. Like was said in the how to integrate I changed t7 to t2 with is

  • Iphone 5 IOS Version 7.0.4 Not Syncing Music, Pics, Videos

    My Iphone is no longer syncing with my itunes(on vintage macbook pro). The toolbar just gets to step 5 out of 5 and reads"setting up data" and nothing happens. The toolbar never takes the next step toward importing. I tried to import several times an