JSF Caching old values on webpage.

Hey Guys,
I have a jsp page that updates a profile values. This seems to work since the values change on the Oracle Database are updated.
The problem is when I view the profile the jsp shows the previous values. I hit shift refresh and the page shows the correct updated values.
This is what I have in the page header.
    <HEAD>  
     <META http-equiv="PRAGMA" content="NO-CACHE">
     <META http-equiv="CACHE-CONTROL" content="no-store,NO-CACHE,must-revalidate,post-check=0,pre-check=0,max-age=0">
     <META http-equiv="Expires" content="-1">  I read some posts about using the phaselistener. I don't think I want all the pages to never be cached just a few that have changing data.
http://turbomanage.wordpress.com/2006/08/08/disable-browser-caching-in-jsf/
http://www.it-eye.nl/weblog/2006/11/20/adf-faces-and-cache-control/
Any ideals out there??
Thanks
Phil

yes, I debug with a lot of tools.
I have firebug and live HTTP Headers for debugging too.
After using live headers I found the issue.
It was apache caching the page.
on FireFox you can do about:cache
Go to
Disk cache device
Number of entries:      6009
Maximum storage size:      50000 KiB
Storage in use:      49987 KiB
Cache Directory:      C:\Documents and Settings\Phil\Local Settings\Application Data\Mozilla\Firefox\Profiles\v39gs8a2.phil\Cache
List Cache EntriesThis showed my page with a 4 week cache. IE ignored this and used the meta tags but Firefox did it correct and cached it.
I took this out of my apache
ExpiresDefault "access plus 4 weeks"
Works great now.
Thanks
Phil

Similar Messages

  • Write-Behind Caching and Old Values

    Is there a way to access the old value cached in the write-behind cache for the same key from the CacheStore's store() or storeAll() method?

    I have a business POJO with three parts: partA,     > partB, partC inside. Each of these three parts is
         > persisted by a separate SQL. So, every time I persist
         > my POJO, up to 3 SQLs may be executed.
         I understand.
         > When a change happens in my POJO, it goes onto the
         > write-behind queue. In my CacheStore.store() or
         > CacheStore.storeAll() I would like to be able to make
         > an intelligent decision about which of the three
         > parts: partA, partB or partC has actually changed and
         > only run the SQL updates for the changed parts. This
         > would allow me to avoid massive amounts of
         > unnecessary SQL updates for the parts that did not
         > change.
         Right. Keep in mind that there are two conditions that you must be aware of:
         1) Multiple updates could have occurred to the object, meaning that the database update would have to "roll up" the results of multiple changes to the object.
         2) Some or all of the updates could have already occurred to the database. This may be a little trickier to understand, but it reflects the possible machine failure conditions that occurred while a write-behind was in progress.
         Although the latter are unlikely, they should be accounted for, and of course they are harder to test for with certainty. As a result, the updates to the information (the CacheStore implementation) must be built in an "idempotent" manner, i.e. allowing it to be executed more than once with no additional side-effects.
         > If I had access to the POJO stored under the same key
         > before the new value was put in cache, I could use
         > equals() on each of the three parts to find out
         > exactly which one of them changed.
         While this is true, you would need to compare the "known previous database state" version, not just the "old" version.
         > Of course, if this functionality is not available, I
         > would have to create dirty flags for each of the
         > three POJO parts. But I can't really clear my POJO's
         > flags and recache the POJO from within the store() or
         > storeAll(), right?
         Yes, but remember that those flags are "could be dirty" flags, because of the above failure modes that I described.
         Peace,
         Cameron Purdy
         Tangosol Coherence: The Java Data Grid

  • How to get the old value of the ValueChangeEvent

    I'm using the JSF component selectManyListbox. I have assigned a value change listener to it. When I try get the old value using getOldValue() of the ValueChangeEvent Im always getting a null value. The only value Im getting is from the method getNewValue(), which is the last item I clicked in the selectManyListbox items before submitting the whole form. Is there a way to get the old value of this component or Im doing something wrong?

    Here is the partial bean code
    public class TestUI extends PageCodeBase {
         private static Logger logger = Logger.getLogger(pagecode.protected1.TestUI.class);
         protected Object [] menuValue;
         protected Object [] listBoxValue;
         protected List allTaskCodes;
         * @return Returns the listBoxValue.
         public Object[] getListBoxValue() {
              return listBoxValue;
         * @param listBoxValue The listBoxValue to set.
         public void setListBoxValue(Object[] listBoxValue) {
              this.listBoxValue = listBoxValue;
    public void handleSelectManyListboxValueChange(
                   ValueChangeEvent vce) {
              logger.debug(".. first component was heard..");
              String[] s1 = (String[]) vce.getOldValue();
              String[] s2 = (String[]) vce.getNewValue();
              //vce.getComponent().
              if (s1!=null&&s1.length!=0) {
                   logger.debug("length of first array is " + s1.length );
              //for(int i=0; i<s1.length; i++)
                        logger.debug("value of old is " + s1[0] );
              if (s2!=null&&s2.length!=0) {
                   logger.debug("length of second array is " + s2.length );
                   //for(int i=0; i<s1.length; i++)
                        logger.debug("value of new is " + s2[0]);
    Here is the jsf code
    <h:selectManyListbox styleClass="selectManyListbox" id="listbox1"
                        size="3" valueChangeListener="#{pc_TestUI.handleSelectManyListboxValueChange}"
    onchange="submit()" value="#{pc_TestUI.listBoxValue}">
    <f:selectItem itemValue="value1" itemLabel="select1" />
                        <f:selectItem itemValue="Value2" itemLabel="select2" />
                        <f:selectItem itemValue="Value3" itemLabel="select3" />
    <f:selectItem itemValue="value4" itemLabel="select1" />
                        <f:selectItem itemValue="Value5" itemLabel="select2" />
                   </h:selectManyListbox>

  • JbiValidator calls the setAttribute to the old value when validate fails

    I tried to implement a Custom Validator by extending a JboValidator Interface. I applied the validator to an attribute. I tested the the validation on a JSF page. When I input an invalid value on the attribute, the validator runs but the problem is the framework sets the value of the attribute to its old value by calling again the setter function (setAttribute()) which in turn calls the validator again.
    This is what I have observed. If this is what the framework really does, then how can I suppress the firing of the validator when it sets it back to the old value?
    regards,
    Anton

    Thanks to all for your responses. Regarding accessing of new value inside value change listener, I am sure ValueChangeEvent.getNewValue() is not going to give me the value with proper data type. I am not using immediate attribute anywhere but use custom domain data type with masking (i.e. Formatter Format). Also I use InputDate field. Always valueChangeEvent.getNewValue() gives me the string representation of the value but not with actual data type.
    Question:
    1. Is there any API, that gets the valueChangeEvent.getNewValue() and the UI components as parameters and return the data with proper data type?
    2. I need to get the newly value with proper data type inside valueChangeListener. Is it achievable? If so, how?
    Need your help.

  • How to get old value from IWDCustomEvent

    Hello All,
    I have applied a Listener on a field value. I want to get old value from the IWDCustomEvent as well new value when event will get fire. Is it possible in Web Dynpro.

    Hi
    Probably you need to get the record from backend base on the date of insertion. and then store it into the WD context, and simple java to compare the old and new record based on date of insertion and again put back to WD Context then finally you can use  WDCustomEvent to get the data.
    Hope it will help you.
    Thanks

  • How to retrieving attributes old values from a OBJECT_CHANGED event

    Hi,
    I have installed Sun ONE Directory Server 5.2. I have registared Event Listener which implements both name space change and object change interfaces. After chaning some attribute value, i am able to get the new values of attributes using getNewBinging method. But when i call getOldBinding to get attributes, it is returning null. Can any one help me how to get the old values. This is very much urgent and we are trying to write custom connectors to synchronize the data in Sun ONE directory server with other directory servers like Oracle Internet Directory.
    I am new to Java and JNDI.
    It would be great help if any one can light me in this regard. Thanks in advance.
    Thanks & Regards
    Sreedhar

    I have been also working for the same issue. getOldBinding() does not return old attributes in case of ObjectChanged event. So far I did not find any solution. Does anyone know any solution?

  • Cant able to see new value and old value for change in purchase order text

    Hi all ,
    I am not able to see changes done in material's purchase order text in material master. When i use tcode MM04 to see changes done material master it does not report new and old value for change if it is done in purchase order text of that material .
    Thanks in advance  ,
    Shikha

    Hi Shikha,
    I'm not sure it works or not. But you can try SCU3 t.code and table DBTABLOG. May it can help you out.
    I also faced this type of issue in Plant data and it get resolved.
    Try and let me know...
    Regards
    Sunil Sisodia

  • Trigger how to get new and old value for nested table column?

    Hi,
    I have created a nested table based on the following details:
    CREATE TYPE typ_item AS OBJECT --create object
    (prodid NUMBER(5),
    price NUMBER(7,2) )
    CREATE TYPE typ_item_nst -- define nested table type
    AS TABLE OF typ_item
    CREATE TABLE pOrder ( -- create database table
    ordid NUMBER(5),
    supplier NUMBER(5),
    requester NUMBER(4),
    ordered DATE,
    items typ_item_nst)
    NESTED TABLE items STORE AS item_stor_tab
    INSERT INTO pOrder
    VALUES (800, 80, 8000, sysdate,
    typ_item_nst (typ_item (88, 888)));
    Now I would like to create a trigger on table pOrder for after insert or update or delete
    and I would like to track the new and old value for the columns inside nested table.
    Can anybody direct me how to do it?
    I would like to know the sytax for it like:
    declare
    x number;
    begin
    x := :new.nestedtablecolumn;--how to get the new and old value from nested table columns
    end;
    Hope my question is clear.
    Thanks,
    Lavan

    Hi,
    Try like this:
    CREATE OR REPLACE TRIGGER PORDER_I
    BEFORE INSERT
    ON PORDER
    REFERENCING OLD AS old NEW AS new
    FOR EACH ROW
    DECLARE
      items_new typ_item_nst;
      ordid_NEW NUMBER;
    BEGIN
    FOR i IN :new.items.FIRST .. :new.items.LAST LOOP -- For first to last element
      DBMS_OUTPUT.PUT_LINE(':new.items(' || I || ').prodid: ' || :new.items(I).prodid );
      DBMS_OUTPUT.PUT_LINE(':new.items(' || I || ').price:  ' || :new.items(I).price );
    END LOOP;
    END;Regards,
    Peter

  • Reading old values in a forms pl/sql block

    In a pl/sql block, in a form.
    Lets say I want to loop through...
    cursor c1 is
    select description
    from students
    where student_id = 1000;
    loop
    open c1;
    fetch c1 into v_description
    --step1
    update students
    set description = new description
    where student_id = 1000
    --step2
    select description into v_old_description where student_id = 1000;
    end loop;
    In step2 when I am reading the record I am getting the new description which is expected.
    My question is how can I get the old description. i-s the value of description which was before step1.
    Thanks

    No, you perform an update, so the old value is overwritten in the database.
    If you really want to use sql, and I don't see why in your example, you can try [flashback query|http://www.oracle.com/technology/deploy/availability/htdocs/Flashback_Overview.htm] .

  • Which table stores old value of IBAN number and how to retrive old value.

    HELLO TEAM
    We are going through an enhancement process that requires to display old value and new value of the IBAN number from the Vendor master records. As IBAN is a combination of the country key, Bank Key and Bank account number, which are all key fields, their values are stored in the form of key in CDHDR and and CDPOS tables. The bank details are only shown in other key tab/column and the field name is displayed as key in CDPOS. These sensitive field changes are displayed as created or deleted but do not show as old value=x and new value =Y.The old value and new value fields are blank. The same happens for object IBAN and the tiban table only stores iban numbers that are updated and does not store old value of the iban number.
    If I have to display in the report s_alr_87012089, the old value and the new value of the iban number , how can i achieve the task. From which table we can retireve the old value of the IBAN number.
    << Moderator message - Everyone's problem is important. But the answers in the forum are provided by volunteers. Please do not ask for help quickly. >>
    Thank you in anticipation of a solution
    Shekhar
    Edited by: Rob Burbank on Jul 19, 2011 4:59 PM

    Hello Team
    We have explored all the above means. We are working in 4.7 environment. As we could not find an appropriate solution, we have approached the forum. The old value is not stored in cdhdr and cdpos and has the indicator as 'E' -Delete. So if an updation is done then it will delete old value and create a new value. This happens especially for the fields Bank Country Key,Bank Key, Bank Account Number. All we have checked the object attributes in the table lfbk, where for some fields it does track changes  and for other it does not track changes. This is especially for the fields kovon and kobis.
    If the requirement is to track changes to the fields Bank Country Key,Bank Key, Bank Account Number, kovon, kobis, iban which are sensitive data, and the report has to display old value and new value for sox compliance, how can this be achieved?
    I have also gone through the SAP note 580266
    If we are running a report to track changes to all vendors or a selected group of vendors, only some fields show up the value old value and new value.
    Would appreciate if an appropriate solution is provided.
    Request for a solution as i waited for 2 days if any expert could help!!!
    Thank you
    shekhar
    Edited by: V_Shekhar on Jul 27, 2011 1:18 PM
    Edited by: V_Shekhar on Jul 28, 2011 4:36 PM

  • How to achieve transport of value mapping replication cache table values ?

    During the migration of our interface from XI3.0 to PI 7.11,
    I need to transport the value mapping replication cache table values present in cache monitoring of runtime workbench in
    XI 3.0 PRD  to PI 7.11 DEV .
    Please let me know the ways to acheive this so that I can have the same values present in PI 7.11 Value Mapping Cache table as maintained in XI 3.0.
    Please point me into correct direction.
    Regards
    PS

    Click on "Tools" option, select "Export Configuration Objects" -> "Individual Objects" -> Choose the "Value Mapping Group" type, and then select the value mappings you want to transport.

  • How to show old value in webui when user press NO button on popup button.

    Hi Experts,
    As per requirement I have created custom field with dropbox and with popup box to cofirm user decision if value from field changes.
    Now on Popup when user press Yes then its Ok as no need to change the current value in the field.
    but when user press the NO button I want to display the old value on Web UI so now I am able to catch the old value and pass it into the field at backend but I am not able to make the change on the web page.
    Please reply if anyone have solution for it.
    BR
    Gaurav    

    Hi Gaurav,
    First of all when all this is happening in UI why you need to pass the selected value to backend. I didnt get this.
    I believe, this is only ui related and the old value which you got can be set in the IMPL class global variable and  trigger method set_on_close_event, say here 'CONFIRM_POPUP_CLOSED' as shown below:
      gr_popup->set_on_close_event( iv_event_name = 'CONFIRM_POPUP_CLOSED'
                                        iv_view = me ).
    Retrive the answer as per selection from popup in method 'CONFIRM_POPUP_CLOSED'
    by using:
      lv_answer = gr_popup->get_fired_outbound_plug( ).
    if lv_answer is NO, then put back the globally stored old value back to dropdown attribute, using:
    set_property_by_value method(   iv_attr_name = 'dropdown attr' iv_value = 'old value' )
    Thats it. No need to do anything.
    Regards,
    Bhushan

  • How to change the dynamically  LOV value to old value if it errors out

    We have an use case like when a value is selected from LOV, some validations(EO validations) occur on that and if the validation fails we are throwing exception.But the new value is appearing in LOV text box. We need to display the old value in the LOV if the validation fails. Can you please let me know if there is any way to do that?

    After thinking about this, I wondered if I had mis-read the use-case....so I added #2
    Please state your Jdeveloper version, and elaborate on your use-case:
    *1. Are you saying that the LOV contains incorrect values that the user has chosen?*
    If so you should restrict the LOV values to what is acceptable for the row (based on what other values are in the row)
    By restricting the values in the LOV the wrong value can no longer be selected, you would not need to build in functionality to revert back to previous values.
    I woud start by creating a view criteria for the view object the LOV is based on. The form values would send the binding variables to the view criteria, and that would then execute the query (invoking the view criteriea). The LOV would then contain some information on only acceptable values.
    You may be able to adapt some of the ideas presented in this video (on cascading list boxes) to make your LOV work properly. http://youtu.be/WTevRnXq04o
    This video shows some ways to manipulate view criteria: http://youtu.be/dX93fiBCxEg
    *2. Are you saying that the user has selected other fields in the form -- validation on those fields fails, and you want to revert back, but the LOV still contains the values selected?*
    In that case, you need to clear the values in the form and re-execute the view object -- and refreshing to the correct value.
    Stuart
    Edited by: Stuart Fleming on Sep 12, 2012 12:04 PM
    Edited by: Stuart Fleming on Sep 12, 2012 6:52 PM
    Edited by: Stuart Fleming on Sep 12, 2012 6:52 PM

  • Cache - LookUp values

    Hi,
    Is there any possibility to cache the values when we used Lookup's in XI. So that we can not poll the database everytime in production environment.
    Can anybody share their valueable experiences with me.
    -Esha

    Hi,
    See the below links
    /people/sravya.talanki2/blog/2005/12/02/sxicache--ripped-off - SXI_CACHE - Ripped Off
    http://searchsap.techtarget.com/ sDefinition/0,,sid21_gci852485,00.html - 45k - Cached - Similar pages
    XI Runtime cache error: Cache contents are obsolete
    Cache Refresh - SAI_CACHE_REFRESH
    /people/sravya.talanki2/blog/2005/11/03/cache-refresh-errors--new-phenomena
    How To… Handle XPI Caches in SAP NetWeaver
    2004s https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/c0332b2a-eb97-2910-b6ba-dbe52a01be34
    also look at this forum link
    XI lookups - Cache - Performance Issues
    Please reward points if it helps
    Thanks
    Vikranth
    Edited by: Khimavath Vikranth on Jun 6, 2008 3:19 AM

  • Can i use one JSF component's value for other component in the same page.

    Can i use one JSF component's value for other component in the same page.
    For example
    I have a <h:selectBooleanCheckbox id="myChk"> in my jsf page, i want to access its value for another component like:
    <h:commandButton disabled="#{myChk.checked}" action="myAction" value="myValue" />
    ** "myChk.checked" >> I am just asuming "checked" property is available...

    Bind the checkbox to a UIInput myChk property. Then you can reference this property from the page, e.g.
    <h:selectBooleanCheckbox binding="#{myBean.myChk}" onchange="submit();" />
    <h:commandButton disabled="#{myBean.myChk.value}" action="myAction" value="myValue" />

Maybe you are looking for

  • How do I set my text to be evaluated as an integer?  ie. 10 is now 2?

    I'm trying to duplicate a game in AppleScript that I made in BasicA back when I was eight years old. This works pretty well. When I guess 10 though, it says that I need to guess a higher number - the number can't be above 10. I realize that it's doin

  • "No Service" after updating to iPhone OS 3.1.3

    After updating to iPhone OS 3.1.3 it seems that around noon it loses connection to the cellular network, telling me "No Service". This is in Belgium on the Proximus network with a 32GB iPhone 3GS. Turning the phone off and on makes it register to the

  • Quartz Composer maximum file size for videos?

    I'm using the Movie Importer patch and large videos refuse to play. I had no trouble with a 16-minute, 249.6 MB file, but a 7-hour, 534.6 MB file doesn't work. The patch acts like I don't have a file selected at all: it doesn't output an image or a d

  • How to include Serial Numbers in a marketing documents

    Hi, we would like to show the serial number attached to the right item in the Invoice and Delivery documents.  But the serial number columns are always empty in the markleting documents.  My boss don't want to see the serial numbers on a separate rep

  • NWBC for Desktop - pop-up inaccessible in background

    We're using NWBC 4.0 for Desktop on Windows Terminal Server 2008 R2 and facing since two weeks the following problems: When I open NWBC PL11 (full desktop or seamless) I've about 5 seconds to choose from connection entries before pop-up is hiding beh