How Does the Jsp Engine sense a changed jsp page

Hi All,
I would like to know how the jsp engine senses the change in .jsp page.Does it look thru the datetime stamp of the jsp page..
can somebody plz help me on this.
regards
Karthik

As long as the contents of the original JSP page remain unchanged, there is no need to generate a new servlet, since the Java code corresponding to those contents remains the same. For this reason, the very first step taken by the JSP page compiler when it receives a request for a JSP is to check the time stamp for the JSP file corresponding to the requested URL, to determine when that file was modified or created. The page compiler will also check the time stamp on the compiled servlet for this JSP page. If no compiled servlet is found, or if the time stamp on the JSP file is more recent than the one on the compiled page servlet, then a new servlet must be generated. This means that the (new or modified) JSP file must be parsed and translated into source code, and this new source code must be compiled. If the compiled servlet is newer than the JSP file, however, no new compilation is required and control can be transferred directly to the servlet to finish processing the request, saving considerable time. So while the first request for a new or recently modified JSP page will be slow, all later requests go straight to the compiled servlet for response generation.
regards
Vishnu

Similar Messages

  • UCCX 5/7 or 8 - Database access - How does the UCCX engine use the DB connection

    I was asked the following question by a customer:
    /* Style Definitions */
    table.MsoNormalTable
    {mso-style-name:"Table Normal";
    mso-tstyle-rowband-size:0;
    mso-tstyle-colband-size:0;
    mso-style-noshow:yes;
    mso-style-priority:99;
    mso-style-qformat:yes;
    mso-style-parent:"";
    mso-padding-alt:0in 5.4pt 0in 5.4pt;
    mso-para-margin:0in;
    mso-para-margin-bottom:.0001pt;
    mso-pagination:widow-orphan;
    font-size:11.0pt;
    font-family:"Calibri","sans-serif";
    mso-ascii-font-family:Calibri;
    mso-ascii-theme-font:minor-latin;
    mso-fareast-font-family:Calibri;
    mso-fareast-theme-font:minor-latin;
    mso-hansi-font-family:Calibri;
    mso-hansi-theme-font:minor-latin;
    mso-bidi-font-family:"Times New Roman";
    mso-bidi-theme-font:minor-bidi;}
    "How does UCCX manage it’s database connections – a connection pool manager / single connection / single connection for each call"
    Does anyone actually know ?  Is it documented anywhere?
    Based on how the steps work I'd guess that the UCCX engine makes a new single DB connection each time the DB step reaches out the DB for a read/write. I assume it would do this independently for every instance of a script running.  Hence the importance of the DB release step I'm guessing.
    I know in the DB subsystem you can configure the maximum number of DB connections to be used but this doesn't imply how they are used.
    I'm not a DB guy, but I think the concern stems from the potential load on a DB server with the constant opening and closing of the DB connections.  I'm assuming that if it used a connection pool the UCCX engine would open, and keep open, a group of DB connections to be used by the UCCX engine. This would lessen the load on the DB server I'm assuming.
    Is there any fundamental difference with UCCX 8 and the DB access ?  It obviously not ODBC anymore.  It JDBC right ? But again how does the UCCX engine use the DB connection?

    To my knowledge, this is not documented; however, at least through 7.0 the MIVR subsystem will open a pool of ODBC connections equal to the maximum you defined and keep them open. If you set it to 50, you will see 50 open connections on the SQL server. Each script that is triggered will attach to one of the available connections as soon as you use a DB-related step and keep it until you use a DB Release step. Once that script instance releases it, the connection is available for another script.
    The behavior should not change with 8.0 as it is the same MIVR subsystem that is doing the work. My first CCX 8.0 project that needs database integration is still about 30 days away so I can't guarantee that though.

  • How Does the scheduler works with ODI engine

    Hi All,
    I am new to the ODI and I was going through the documents over the web regarding the scheduling.
    Can anyone please let me know how does the Scheduler in ODI is coupled with the ODI engine.
    How does the internal scheduler works and how does the external one works. What are the processes the it calls while invoking the scheduler.
    Your help will be highly appreciated.
    Thanks,
    Sumit

    Scheduling in ODI is controlled by a special type of ODI agent, strangley called the ODI scheduling agent. This agent is installed as a service and as well as being responsible for all tasks associated with a normal agent is also responsible for managing ODI jobs based on any scheduling information associated with an ODI scenario. All scheduling information is stored in the ODI repository and the scheduler agent reads from this to determine which jobs/scenarios need to be executed and when.

  • How does the event structure work & ...

    How does the event structure work & and how to modify the case example if you want to change the name of the case? I haven't a look at the manual but nothing about event structure is mentioned.

    I know how it works.. =P

  • How does this make any sense??

    My husband gets the three bureao FICO subscription....this is on his credit report under "negative factors" HOW does this make ANY sense?!? It has "too many credit accounts with balances" as a negative factor...he has one credit card.... You have too many credit accounts with balances.EquifaxThe FICO® Score considers the number of accounts on a credit report showing a balance.Generally speaking, carrying fewer accounts with balances is considered less risky.For credit cards , your credit report may still show a balance on those cards - even if they are paid off in full each month. The total balance on the last statement is generally the amount that is shown on a credit report. NUMBER OF YOUR ACCOUNTS CARRYING A BALANCE Equifax1 accountFICO High Achievers have an average of 3 credit accounts carrying a balance.

    I think they're trying to say that he doesn't have enough accounts and with only one reporting (with a balance of course), that's their common answer.

  • How does the iPod organize content?

    When I manually add content to my video iPod, how does the iPod know where to put it? Does it go into Movies, Music, TV shows, podcasts, etc? Does it rely on the mp3 id tags??? If yes, can I force a movie to go into the music folder my simply changing mp3 id3 tags?
    30G video ipod   Windows XP Pro  

    1 I by its tag
    2 depends on the files tag
    3 No...mp4 and m4a files have diffrent tags then mp3s
    In iTunes 6.0.5 if you change the "VIdeo Kind" it will sort correctly. Just right click file, and in the options tab change the setting under "VIdeo Kind".
    Besides iTunes if you want to change a tag you have to use a mp4/m4a tag editor program like "YAMB ver 2 preview" it can change your tags and much more and its free http://yamb.unite-video.com/
    you can try YAMB ver 1.6 but I don't think it works very well with tags.

  • How does the CBO calculate the selectivity for range predicates on ROWID ?

    Hi all,
    I'm wondering how the CBO estimate the selectivity for range predicates based on ROWID columns.
    For example, for the following query the CBO estimates there's going to be 35004 rows returned instead of 7:
    SQL> SELECT count(*)
      FROM intsfi i
    WHERE
    ROWID>='AAADxyAAWAAHDLIAAB' AND ROWID<='AAADxyAAWAAHDLIAAH';  2    3    4
      COUNT(*)
             7
    Elapsed: 00:00:02.31
    SQL> select * from table(dbms_xplan.display_cursor(null,null,'iostats last'));
    PLAN_TABLE_OUTPUT
    SQL_ID  aqbdu2p2t6w0z, child number 1
    SELECT count(*)   FROM intsfi i  WHERE  ROWID>='AAADxyAAWAAHDLIAAB' AND
    ROWID<='AAADxyAAWAAHDLIAAH'
    Plan hash value: 1610739540
    | Id  | Operation             | Name    | Starts | E-Rows | A-Rows |   A-Time   | Buffers |
    |   0 | SELECT STATEMENT      |         |      1 |        |      1 |00:00:02.31 |   68351 |
    |   1 |  SORT AGGREGATE       |         |      1 |      1 |      1 |00:00:02.31 |   68351 |
    |*  2 |   INDEX FAST FULL SCAN| INTSFI2 |      1 |  35004 |      7 |00:00:02.31 |   68351 |
    Predicate Information (identified by operation id):
       2 - filter((ROWID>='AAADxyAAWAAHDLIAAB' AND ROWID<='AAADxyAAWAAHDLIAAH'))According to Jonathan Lewis' book, for a normal column the selectivity would have been:
    (value_column1-value_column2)/(high_value-low_value)+1/num_distinct+1/num_distinct
    But here with the ROWID column, how does the CBO make its computation ?
    SINGLE TABLE ACCESS PATH
      Single Table Cardinality Estimation for INTSFI[I]
      Table: INTSFI  Alias: I
        Card: Original: 14001681.000000  Rounded: 35004  Computed: 35004.20  Non Adjusted: 35004.20

    Hi Jonathan,
    Some Clarifications
    =============
    DELETE /*+ ROWID(I) */ FROM INTSFI I WHERE
    (I.DAVAL<=TO_DATE('12032008','DDMMYYYY') AND (EXISTS(SELECT 1 FROM
    INTSFI S WHERE S.COINT=I.COINT AND S.NUCPT=I.NUCPT AND S.CTSIT=I.CTSIT
    AND NVL(S.RGCID,-1)=NVL(I.RGCID,-1) AND S.CODEV=I.CODEV AND
    S.COMAR=I.COMAR AND S.DAVAL>I.DAVAL) AND I.COMAR IN (SELECT P.COMAR
    FROM PURMAR P WHERE P.NUPUR=1))) AND ROWID>='AAADxyAAWAAHDLIAAB' AND
    ROWID<='AAADxyAAWAAHDLIAAH'
    Plan hash value: 1677274993
    | Id  | Operation                      | Name    | Starts | E-Rows | A-Rows |   A-Time   | Buffers |  OMem |  1Mem | Used-Mem |
    |   0 | DELETE STATEMENT               |         |      1 |        |      0 |00:00:05.94 |   53247 |    |          |          |
    |   1 |  DELETE                        | INTSFI  |      1 |        |      0 |00:00:05.94 |   53247 |    |          |          |
    |*  2 |   HASH JOIN SEMI               |         |      1 |   9226 |      7 |00:00:05.94 |   53180 |   783K|   783K|  471K (0)|
    |   3 |    NESTED LOOPS                |         |      1 |   9226 |      7 |00:00:00.01 |      10 |    |          |          |
    |*  4 |     TABLE ACCESS BY ROWID RANGE| INTSFI  |      1 |   9226 |      7 |00:00:00.01 |       6 |    |          |          |
    |*  5 |     INDEX UNIQUE SCAN          | PURMAR1 |      7 |      1 |      7 |00:00:00.01 |       4 |    |          |          |
    |   6 |    INDEX FAST FULL SCAN        | INTSFI1 |      1 |     14M|   7543K|00:00:01.73 |   53170 |    |          |          |
    Predicate Information (identified by operation id):
       2 - access("S"."COINT"="I"."COINT" AND "S"."NUCPT"="I"."NUCPT" AND "S"."CTSIT"="I"."CTSIT" AND
                  NVL("S"."RGCID",(-1))=NVL("I"."RGCID",(-1)) AND "S"."CODEV"="I"."CODEV" AND "S"."COMAR"="I"."COMAR")
           filter("S"."DAVAL">"I"."DAVAL")
       4 - access(ROWID>='AAADxyAAWAAHDLIAAB' AND ROWID<='AAADxyAAWAAHDLIAAH')
           filter("I"."DAVAL"<=TO_DATE(' 2008-03-12 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))
       5 - access("P"."NUPUR"=1 AND "I"."COMAR"="P"."COMAR")
    When I force the NESTED LOOP SEMI JOIN the query runs faster:
    DELETE /*+ ROWID(I) */ FROM INTSFI I WHERE
    (I.DAVAL<=TO_DATE('12032008','DDMMYYYY') AND (EXISTS(SELECT /*+ NL_SJ
    */ 1 FROM INTSFI S WHERE S.COINT=I.COINT AND S.NUCPT=I.NUCPT AND
    S.CTSIT=I.CTSIT AND NVL(S.RGCID,-1)=NVL(I.RGCID,-1) AND S.CODEV=I.CODEV
    AND S.COMAR=I.COMAR AND S.DAVAL>I.DAVAL) AND I.COMAR IN (SELECT P.COMAR
    FROM PURMAR P WHERE P.NUPUR=1))) AND ROWID>='AAADxyAAWAAHDLIAAB' AND
    ROWID<='AAADxyAAWAAHDLIAAH'
    Plan hash value: 2031485112
    | Id  | Operation                      | Name    | Starts | E-Rows | A-Rows |   A-Time   | Buffers |
    |   0 | DELETE STATEMENT               |         |      1 |        |      0 |00:00:00.01 |      94 |
    |   1 |  DELETE                        | INTSFI  |      1 |        |      0 |00:00:00.01 |      94 |
    |   2 |   NESTED LOOPS SEMI            |         |      1 |   9226 |      7 |00:00:00.01 |      27 |
    |   3 |    NESTED LOOPS                |         |      1 |   9226 |      7 |00:00:00.01 |       9 |
    |*  4 |     TABLE ACCESS BY ROWID RANGE| INTSFI  |      1 |   9226 |      7 |00:00:00.01 |       5 |
    |*  5 |     INDEX UNIQUE SCAN          | PURMAR1 |      7 |      1 |      7 |00:00:00.01 |       4 |
    |*  6 |    INDEX RANGE SCAN            | INTSFI1 |      7 |     14M|      7 |00:00:00.01 |      18 |
    Predicate Information (identified by operation id):
       4 - access(ROWID>='AAADxyAAWAAHDLIAAB' AND ROWID<='AAADxyAAWAAHDLIAAH')
           filter("I"."DAVAL"<=TO_DATE(' 2008-03-12 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))
       5 - access("P"."NUPUR"=1 AND "I"."COMAR"="P"."COMAR")
       6 - access("S"."COINT"="I"."COINT" AND "S"."NUCPT"="I"."NUCPT" AND
                  "S"."CTSIT"="I"."CTSIT" AND "S"."CODEV"="I"."CODEV" AND "S"."COMAR"="I"."COMAR" AND
                  "S"."DAVAL">"I"."DAVAL")
           filter(NVL("S"."RGCID",(-1))=NVL("I"."RGCID",(-1)))the above post is from Ahmed AANGOUR
    Case 1 - . If you check Plan hash value: 16772749938
    =====
    TABLE ACCESS BY ROWID RANGE| INTSFI  For every row access from INTSFI - it fetches a record from INDEX UNIQUE SCAN | PURMAR1
    If we check A-rows = 9226
    9226 * 7 = 64582 request across the table - perhaps with hint of rowid it fetches exact rows from PURMAR1
    in this case i think going for hash join with ordered hints (jonathan as you suggest go for leading hint's instead of ordered) - from INTSFI - PURMAR1 - instead of going for IN clause would get the rows that satifies the ("P"."NUPUR"=1 AND "I"."COMAR"="P"."COMAR")
    |*  2 |   HASH JOIN SEMI               |         |      1 |   9226 |      7 |00:00:05.94 |   53180 |   783K|   783K|  471K (0)|
    |   3 |    NESTED LOOPS                |         |      1 |   9226 |      7 |00:00:00.01 |      10 |    |          |          |
    |*  4 |     TABLE ACCESS BY ROWID RANGE| INTSFI  |      1 |   9226 |      7 |00:00:00.01 |       6 |    |          |          |
    |*  5 |     INDEX UNIQUE SCAN          | PURMAR1 |      7 |      1 |      7 |00:00:00.01 |       4 |    |          |          |My understanding with above plan would change to
    HASH JOIN
    TABLE ACCESS BY ROWID RANGE| INTSFI
    INDEX UNIQUE SCAN | PURMAR1
    HASH JOIN
    INDEX FAST FULL SCAN | INTSFI1
    Which migt be feasible.
    2 .
    DELETE /*+ ROWID(I) */ FROM INTSFI I WHERE
    (I.DAVAL<=TO_DATE('12032008','DDMMYYYY') AND (EXISTS(SELECT /*+ NL_SJ
    */ 1 FROM INTSFI S WHERE S.COINT=I.COINT AND S.NUCPT=I.NUCPT AND
    S.CTSIT=I.CTSIT AND NVL(S.RGCID,-1)=NVL(I.RGCID,-1) AND S.CODEV=I.CODEV
    AND S.COMAR=I.COMAR AND S.DAVAL>I.DAVAL) AND I.COMAR IN (SELECT P.COMAR
    FROM PURMAR P WHERE P.NUPUR=1))) AND ROWID>='AAADxyAAWAAHDLIAAB' AND
    ROWID<='AAADxyAAWAAHDLIAAH'Ahmed AANGOUR, modified the query by /*+ NL_SJ */ hint, Instead of that in to remove the most of the rows as we join the tables using subquery, I still doubt it
    to go push_predicate hints - still doubt it.
    Jonathan your comments are most valuable in the above two cases..
    Looking forward to calrify my understanding with concepts of indexes for above test cases
    - Pavan Kumar N

  • How does the field CCSOFTLOCK in T000 Table get Updated ?

    Hello Experts !
    I would like to know how does the field CCSOFTLOCK in Table T000 Get updated ?
    I tried all fields in SCC4 for a client but none of my change updates CCSOFTLOCK .
    The Data Element Description says   Client control: Soft Lock Required (Planned for 4.0)
    What does this Planned for 4.0 Indicate. We are in ECC5.0.System.
    Regards,
    Mithun Shetty

    Hi Mithun,
    Can you check if Note "1047952 - SCC4: Client settings with enhanced security options "is  applied to your system.
    as per it , you can put additional restrtictions for modifying SCC4 (table T000) fields ,a BadI will be checked additionally.
    15. Parameter : CCCOPYLOCK_VAL_DEFAULT
           Type      : Exporting
           Pass Value : Check
           Optional  : Space
           Associated type: TYPE
           Reference Type : CCSOFTLOCK
    Regards,

  • How does the Oracle DBMS locate the Oratab file?

    I'm new to the Oracle environment. I have also successfully installed Oracle 11g on a Red Hat Enterprise Linux 5.3 platform. How does the DBMS locate the oratab file? My oratab is located under the "/etc" sub-directory. How does the DBMS know to look their? If I wanted to change the location of my "oratab" file how do I point the DBMS to the new location?
    Thanks

    The RDBMs does not care of the oratab file. (why should it?)
    But some other scripts/utilities does. dbca, dbstart, dbshut and possible a lot others.
    So if you want, you can delete or move this file without affecting any RDBMS, but you have to modify all scripts you use if they rely on oratab, and you have to accept some tools will provide unexpected results without it.
    My personal suggestion: move oratab somewhere in your $ORACLE_BASE and create a symbolic link from this location to /etc/oratab.
    hth,
    Martin

  • How does the search functon/input box work?

    How does the search functon/input box work?
    Hi
    my level is beginner
    there is a search box on the upper right hand on this page
    frames in gey ?
    how does this work.
    does this search in the database?
    if i would want to create this in an application
    what can i do ?
    are there CF examples??

    Thanks
    search against a database : Are there a function of Cf ta
    tags/code to do this? is this CFquery / and Cfoutput?
    or
    do a Verity search of a collection. How is this dont by? CF
    submit a search to an external search engine like Google.
    oh, is this when a page has a search and when the user types in
    there text in the input box it automatically goes to the google
    search. any articles on how to do this in CF
    Thanks

  • How does the sync process work?

    Hello all,
    I want to know what will happen if both the local and network homes have been modified for a period of two weeks and then the user chooses to synch? Will the sync process ask which 'home' is the most recent or will it replace older files with newer files?
    How does the sync process manage the task of keeping both sides the same?
    Thanks,
    -Andrew G

    If a file exists on both the local and the network directory it will pop up with a conflict and ask how to resolve it.
    If the file is only on the local machine and in a place you have not excluded from syncing it just syncs.
    If the file has been previously synced but there has been no change to the file since last sync I think it just rewrites the file to the server homedir... (Don't quote me on this one... it might not even bother with it, I'm not sure how smart the sync service is)
    You can set automatic conflict resolution within WGM but as far as I know you have to do it by clicking on preferences then switching to the details tab, then click on Home Sync....com.apple.homesync. Click on the Always drop down and click the add new key button then change the new key to either Login or Logout Non-Preference sync conflict resolution and or Background sync conflict resolution and decide if MobileHome or NetworkHome Wins...or copy. In most cases I would think that you would want the MobileHome to Win.. of course there is always potential for someone to make a huge mistake on a file and pray its still fine on the server but... your call.

  • How does the follwoing query work?

    Want to know how does the follwoign query work??
    For every row in flsp
    the subquery is going to get executed or is it just one time execution of the subquery??
    UPDATE flsp
    SET (DURATION, sdr, inr) =
    (SELECT SUM (tot_charges), SUM (tot_charges_sdr),
    SUM (tot_duration)
    FROM t
    WHERE t.sender_pmn = flsp.sender_pmn
    AND t.recipient_pmn = flsp.recipient_pmn
    AND t.imsi_min = flsp.imsi
    AND TRUNC (t.call_date) = TRUNC (flsp.call_date)
    AND t.call_type = flsp.call_type
    AND t.service_code = flsp.service_code
    GROUP BY sender_pmn,
    recipient_pmn,
    imsi_min,
    TRUNC (t.call_date),
    call_type);
    Edited by: user8731258 on Sep 27, 2010 2:54 AM

    user8731258 wrote:
    the global session table is going to hold data for one sessions where as the table flsp is going to hold data for the entire day.During a session there could be say 10 thousand records.Sounds like a bad idea.
    user8731258 wrote:
    ANd there are goign to aroung 100 such sessions.Continues to sound bad.
    user8731258 wrote:
    I have to update the flsp continually.Just got worse.
    user8731258 wrote:
    How do i make this fetch fast??This still makes no sense to me.
    Why are you moving all this data around and utilizing temporary tables instead of directly querying the underlying data on an 'as needed' basis?
    I think you have undertaken entirely the wrong technical approach to whatever business problem you are attempting to solve (though it's hard to say for sure as we still know little of what you've got going on).
    So back to step number one like i asked before.
    Can you explain (from the very beginning) WHY you are attempting this type of set up?

  • How does the system Validyne pressure transducer -- Validyne CD280-Dual-- SCB-68-- PCI-6024E-- LABVIEW work and how can we calibrate the pressure transducer?

    Hello there,
    I am completely new to the LABVIEW software.
    I am learning an existing LABVIEW code of my pressure acquisition system (attached) which has the data path as following: Validyne pressure transducer --> Validyne CD280-Dual--> SCB-68--> PCI-6024E--> LABVIEW and I have some question:
    1. How does the complete system from transducer to the LABVIEW work? ie if we apply the pressure at the transducer, it will change the resistance of the transducer then ....?
    2. How can I find the equation which express the relationship between the pressure and the voltage at the oupt of the Validyne CD280-Dual in the LABVIEW?
    3. If I want to do the calibration for the transducer, what are steps?
    Thanks,
    Solved!
    Go to Solution.
    Attachments:
    Experiment.vi ‏143 KB
    Plogger.vi ‏21 KB

    Hello there,
    I do not understand what subVIs you are refering to but I have tried to run the LABVIEW program using the files I attached and it worked fine (pls see the attached pressure plot).
    As I mentined before, I am new to LABVIEW so maybe I do not know.
    Thanks,
    Attachments:
    Pressure plot.jpg ‏111 KB

  • For the iPod Classic, in settings, how does the volume limit work? After setting a limit, how to re-set to a new volume limit?

    For the iPod Classic, in settings, how does the volume limit work? After setting a limit, how to re-set to a new volume limit?

    This thread - with a quote from an LR4 Beta thread - says that all 6 central Basic controls in PV2012 (Exposure thru Blacks) are now image-adaptive, as were Recovery, Fill Light, and Clarity in previous versions:
    http://forums.adobe.com/message/4253485
    Whether they are suitable for creating a Timelapse sequence without significant flicker is entirely subjective and up to you - and of course, dependant on your specific images & how they change over time.  Sorry, not much advice beyond try PV2012, and revert back to PV2010 if you get too much flicker.

  • HT201210 How does the Ipad get back to Nigerian Store from American Store to enable it carry out Update aand Downloading?

    Dear All, please, How does the Ipad get back to Nigerian Store from American Store to enable it carry out Update and Downloading?

    Try this.
    Settings>iTunes and App Stores>Apple ID
    Tap your ID
    Tap View Apple ID
    Enter your password
    Go to country/region in the popup window to change the store

Maybe you are looking for

  • Adding a cloumn in a fact table which has pctfree 0

    Hi, I have a partitioned fact table with millions of rows and pctfree 0. Now I want to add a new column in this table (without any default value in the new column, so new column is a null). How will it affect (because of pctfree 0) the performance of

  • How to specify multiple org-unit in "dsadm request-cert"?

    Hi, We are trying to use dsadm to create a certificate request for one of our SunDS instances, and our CA requires that, in our case, the certificate subject string has multiple "org-unit"s, i.e, the cert subject string in the request needs to have s

  • How to I create and eprint account

    HP Laserjet CP1525nw iPad 2 Want to be able to use eprint to remotely print from my iPad at work to my home printer. Thank you

  • Max Text in Textbox

    Hi there, I am creating a maths quiz for student and one of the questions requires student to write numbers into words. I've created a variable to store the answer the student's input. The answer for this particular question is 'Four million, three h

  • I can't use the distribute function in livecycle design?

    I can't use the distribute function in livecycle design? I have spent many hours designing this and the feature is not able to work it is greyed out. I am using adobe XI (not pro). What am I doing wrong?