Struts 1.1 Iterate through input types of image

Hi everyone,
I'm using struts 1.1, and specifically the logic:iterate tag. Basically I'm looping through a List of Users. I print out username, userAccessLevel, two image input types (edit or remove). My actionForm associated with the JSP contains the List of Users.
A User object has an AccessButtons field (among other things),
an AccessButtons object contains two Buttons objects named edit and remove,
a Button object has 3 String fields, x, y, and name, and a "pressed()" function
Essentially I want the Action class to be able to pick up what button was pressed on the ActionForm. Specifically both the user and edit/remove action associated with the button. The code I have so far in the JSP is:
<logic:iterate id="users" name="accessForm" property="users" indexId="index">
<bean:define id="ssn" name="users" property="ssn"/>
<bean:define id="accessButtons" name="users" property="accessButtons"/>
<bean:write name="users" property="fullname"/>
<bean:write name="users" property="accessLevel"/>
<html:image property="accessButtons.edit" src="images/edit.gif" border="0" alt="edit" indexed="true"/>
<html:image property="accessButtons.remove" src="images/remove.gif" border="0" alt="remove" indexed="true"/>
</logic:iterate>
This displays the desired output, but it doesn't help be differentiate the user for which the button was pressed. I left out some of the HTML formatting stuff to keep the code clean.
Anyone have any ideas? I hope I explained what I wanted clearly and concisely...

yes, this is a problem, isn't it...
I would suggess make each user iterration include a separate form tag set and have a hidden field with the user id. but I think this will still have a problem of knowing which of the 2 buttons were pressed. There is a problem here, cuz Netscape 7 sends the button name of the button and button.x and button.y, whereas IE 6 only sends the button.x and button.y, and not the button as is... which presents a problem to figuring out what was clicked. (Plain submit type buttons seem to be fine for submitting). At least, I guess just check for the existance of the button_name.x to see which was pressed, but you still need the user ID in the forms.

Similar Messages

  • Iterate through a list containing Map items using struts

    Hi friends,
    I have a small problem. I want to iterate through a list of items, using struts.
    The list actually contains map structres for example:
    list(0)
         map(..key..value..)
         map(..key..value..)
         map(..key..value..)
    list(1)
         map(..key..value..)
         map(..key..value..)
         map(..key..value..)
    list(2)
         map(..key..value..)
         map(..key..value..)
         map(..key..value..)can I use <logic:iterate/> for this? if yes how? Because I have used this tag for list containing bean objects not Map.
    Any suggestions are much appreciated.
    Thanks,
    Vishal

    Normally, each object exposed by the iterate tag is an element of the underlying collection you are iterating over. However, if you iterate over a Map, the exposed object is of type Map.Entry that has two properties:
    key - The key under which this item is stored in the underlying Map.
    value - The value that corresponds to this key.
    So, if you wish to iterate over the values of a Hashtable, you would implement code like the following:
    <logic:iterate id="element" name="myhashtable">
    Next element is <bean:write name="element" property="value"/>
    </logic:iterate>
    Best Regards
    Maruthi

  • Can't get parameter in struts when using input type="file"...?

    Hi everyone:
    Can the common html tag and struts tag be used together?I have an example:in jsp
    <html:form method="post" action="sendmail.do" enctype="multipart/form-data">
    <tr><td>MailTo:</td><td>
    <html:text property="mailto"/></td></tr>
    <tr><td>MailFrom:</td><td>
    <html:text property="mailfrom"/></td></tr>
    <tr><td>Subject:</td><td>
    <html:text property="title"/></td></tr>
    <tr><td>Content:</td><td>
    <html:textarea property="content" rows="7" cols="30"/></td></tr><tr><td>
    Attach:</td><td>
    <input type="file" name="myfile"/></td></tr><tr><td>
    <html:submit/><html:reset/>
    </td></tr>
    </html:form>
    In Action,I want to use the code "request.getParameter("myfile")" to get the file real path.But I always get "null".Why "request.getParamter("myfile")" is null although I choose a file in jsp?
    Can struts Tag and html Tag be use together?Thks

    Instead of the Request, you need to use MultiPart request in this case.
    This is because of the following statement you are using in the form tag. {enctype="multipart/form-data"}
    Hope it helps....

  • Iterate through RichTable with custom cells

    Hi.
    I create a RichTable by drag and drop a view in DataControls. View is from table xxx and table contains only one column, binding description field in the table.
    This description is shown in an OutputText UI component.
    Then, I add a column with a SelectOneRadio component (to check Yes/No).
    Finally, I add another column with an Input Text to write comments.
    So, when I click one button, I capture the action event and want to process table content. But, how can I iterate through this table?
    How can I get each row, and each cell in its row (each radio, each text)?
    My JDeveloper version is 11.1.1.7.0
    Thanks in advance. Best regards
    EDIT: _________Final solution_________
    Add two transient attributes and iterate the VO object is very easy.
    For the specific issue about radio button, add a switcher and bind the radio group with the transient attribute.

    Hi,
    You could do something like
                   <af:switcher id="s1" defaultFacet="input" facetName="#{row.type eq 0?'radio':'input'"}>
                    <f:facet name="input">
                        <af:inputText id="it2" value="#{row.answer.inputValue"}/>
                    </f:facet>
                    <f:facet name="radio">
                        <af:selectBooleanRadio id="sbr1" value="#[row.answer.inputValue"}/>
                    </f:facet>
                    </af:switcher>
    -Arun

  • Getting access denied error while importing file using input type="file"

    Hi All,
    I am using struts application wherein I need to import file for some purpose.I have used input type="file" for the same which goes like:
    <input type="file" id="uploadFile" name="uploadFile" size="50">
    I have the import button on which I have used onClick event to call javascript function submitValues() used to validate all the fields from the page which goes like:
    <input type="button" name="select" value="Import" class="CSSButton" onClick="javascript:submitValues();">
    The JS function then in turn submits the form and calls the action.The problem is sometimes even when the correct path is specified for the file to be imported results in access denied error.This error comes sometimes and other times it works fine.But when this error comes,I need to relogin into the application and then it works fine.I am using IE7 for this.
    Any idea why I am getting access denied error while importing? Has it got something to do with IE7 version or with the input type="file" which is being used here?
    Thanks for any help if anyone can provide.
    Edited by: passionateforjava on Mar 4, 2009 2:18 AM

    vishnuS1984 wrote:
    Hi Friends,
    I have gone through scores of examples and i am failing to understand the right thing to be done to copy a file from one directory to another. Here is my class...So let's see... C:\GetMe1 is a directory on your machine, right? And this is what you are doing with that directory:
    public static void copyFiles(File src, File dest) throws IOException
    // dest is a 'File' object but represents the C:\GetMe1 directory, right?
    fout = new FileOutputStream (dest);If it's a directory, where in your code are you appending the source file name to the path, before trying to open an output stream on it? You're not.
    BTW, this is awful:
    catch (IOException e)
    IOException wrapper = new IOException("copyFiles: Unable to copy file: " +
    src.getAbsolutePath() + "to" + dest.getAbsolutePath()+".");
    wrapper.initCause(e);
    wrapper.setStackTrace(e.getStackTrace());
    throw wrapper;
    }1) You're hiding the original IOException and replacing it with your own? For what good purpose?
    2) Even if you had a good reason to do that, this would be simpler and better:
    throw new IOException("your custom message goes here", e);
    rather than explicitly invokign initCause and setStackTrace. Yuck!

  • How to iterate through multiple records read from a file adapter?

    I am reading multiple records from a file using SyncRead file adapter.
    I want to iterate through the records to perform some action on every record. How to do this?
    I found few threads related to this..but did not get the solution.
    Please note that I am using Jdev 10.1.3.4
    Thanks

    For count expression, I am getting following error:
    <Faulthttp://schemas.oracle.com/bpel/extensionhttp://schemas.xmlsoap.org/soap/envelope/>
    <faultcode>null:subLanguageExecutionFault</faultcode>
    <faultstring>business exception</faultstring>
    <faultactor>cx-fault-actor</faultactor>
    <detail>
    <code>XPathExecutionError</code>
    <summary>XPath expression failed to execute. Error while processing xpath expression, the expression is "ora:countNodes(bpws:getVariableData('Invoke_3_SynchRead_OutputVariable','EmpCollection','/ns4:EmpCollection'))", the reason is FOTY0001: type error. Please verify the xpath query. </summary>
    </detail>
    </Fault>
    I hard-coded count, in order to proceed. Then I got following error
    <Faulthttp://schemas.oracle.com/bpel/extensionhttp://schemas.xmlsoap.org/soap/envelope/>
    <faultcode>null:bindingFault</faultcode>
    <faultstring>business exception</faultstring>
    <faultactor>cx-fault-actor</faultactor>
    <detail>
    <code>null</code>
    <summary>file:/C:/product/10.1.3.1/OracleAS_1/bpel/domains/default/tmp/.bpel_BPELProcess4_1.0_dc4a703c46a242f69d6cea305b2df3a3.tmp/WriteDA.wsdl [ WriteDA_ptt::insert(VbEmpCollection) ] - WSIF JCA Execute of operation 'insert' failed due to: Mapping Not Found Exception. The mapping [C1] for descriptor [class bpel___localhost_default_BPELProcess4_1_0__MD5_ad2539e1386433a9e059bcc969732f11_.WriteDA.VbEmp] could not be found. The input xml record had an element [VbEmp/C1]. ; nested exception is: ORABPEL-11627 Mapping Not Found Exception. The mapping [C1] for descriptor [class bpel___localhost_default_BPELProcess4_1_0__MD5_ad2539e1386433a9e059bcc969732f11_.WriteDA.VbEmp] could not be found. The input xml record had an element [VbEmp/C1]. Make sure that the input xml is valid relative to the xsd and that the mapping exists in the Mappings.xml. If an old version of the descriptor without this mapping has been loaded by the database adapter, you may need to bounce the app server. If the same descriptor is described in two separate Mappings.xml files, make sure both versions include this attribute/mapping. </summary>
    <detail>null</detail>
    </detail>
    </Fault>
    The bpel code is as follows (I can share entire BPEL project..But not sure how to attach to the thread :( )
    <?xml version = "1.0" encoding = "UTF-8" ?>
    <!--
    Oracle JDeveloper BPEL Designer
    Created: Wed Feb 03 18:00:26 IST 2010
    Author: administrator
    Purpose: Synchronous BPEL Process
    -->
    <process name="BPELProcess4"
    targetNamespace="http://xmlns.oracle.com/BPELProcess4"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:ns4="http://TargetNamespace.com/InboundService"
    xmlns:ids="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:client="http://xmlns.oracle.com/BPELProcess4"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:xref="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
    xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
    xmlns:ns1="http://xmlns.oracle.com/pcbpel/adapter/file/ReadFA/"
    xmlns:ehdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
    xmlns:ns3="http://xmlns.oracle.com/pcbpel/adapter/db/top/WriteDA"
    xmlns:ns2="http://xmlns.oracle.com/pcbpel/adapter/db/WriteDA/"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc">
    <!--
    PARTNERLINKS
    List of services participating in this BPEL process
    -->
    <partnerLinks>
    <!--
    The 'client' role represents the requester of this service. It is
    used for callback. The location and correlation information associated
    with the client role are automatically set using WS-Addressing.
    -->
    <partnerLink name="client" partnerLinkType="client:BPELProcess4"
    myRole="BPELProcess4Provider"/>
    <partnerLink name="WriteDA" partnerRole="WriteDA_role"
    partnerLinkType="ns2:WriteDA_plt"/>
    <partnerLink name="ReadFA" partnerRole="SynchRead_role"
    partnerLinkType="ns1:SynchRead_plt"/>
    </partnerLinks>
    <!--
    VARIABLES
    List of messages and XML documents used within this BPEL process
    -->
    <variables>
    <!-- Reference to the message passed as input during initiation -->
    <!-- Reference to the message that will be returned to the requester-->
    <variable name="inputVariable"
    messageType="client:BPELProcess4RequestMessage"/>
    <variable name="outputVariable"
    messageType="client:BPELProcess4ResponseMessage"/>
    <variable name="Invoke_2_insert_InputVariable"
    messageType="ns2:VbEmpCollection_msg"/>
    <variable name="Invoke_3_SynchRead_InputVariable"
    messageType="ns1:Empty_msg"/>
    <variable name="Invoke_3_SynchRead_OutputVariable"
    messageType="ns1:EmpCollection_msg"/>
    <variable name="Invoke_3_SynchRead_InputVariable_1"
    messageType="ns1:Empty_msg"/>
    <variable name="Count" type="xsd:integer"/>
    <variable name="iterater" type="xsd:integer"/>
    </variables>
    <!--
    ORCHESTRATION LOGIC
    Set of activities coordinating the flow of messages across the
    services integrated within this business process
    -->
    <sequence name="main">
    <!-- Receive input from requestor. (Note: This maps to operation defined in BPELProcess4.wsdl) -->
    <receive name="receiveInput" partnerLink="client"
    portType="client:BPELProcess4" operation="process"
    variable="inputVariable" createInstance="yes"/>
    <!-- Generate reply to synchronous request -->
    <invoke name="Invoke_3" partnerLink="ReadFA" portType="ns1:SynchRead_ptt"
    operation="SynchRead"
    outputVariable="Invoke_3_SynchRead_OutputVariable"
    inputVariable="Invoke_3_SynchRead_InputVariable_1"/>
    <assign name="Assign_1">
    <copy>
    <from expression="1"/>
    <to variable="iterater"/>
    </copy>
    <copy>
    <from expression="1"/>
    <to variable="Count"/>
    </copy>
    </assign>
    <while name="While_1"
    condition="bpws:getVariableData('iterater') &lt;= bpws:getVariableData('Count')">
    <sequence name="Sequence_2">
    <switch name="Switch_1">
    <case condition="bpws:getVariableData('Invoke_3_SynchRead_OutputVariable','EmpCollection','/ns4:EmpCollection/ns4:Emp/ns4:C4') = &quot;Pune&quot;">
    <sequence name="Sequence_1">
    <assign name="Assign_3">
    <copy>
    <from expression="bpws:getVariableData('Invoke_3_SynchRead_OutputVariable','EmpCollection','/ns4:EmpCollection/ns4:Emp')[bpws:getVariableData('iterater')]"/>
    <to variable="Invoke_2_insert_InputVariable"
    part="VbEmpCollection"
    query="/ns3:VbEmpCollection/ns3:VbEmp"/>
    </copy>
    </assign>
    <invoke name="Invoke_2" partnerLink="WriteDA"
    portType="ns2:WriteDA_ptt" operation="insert"
    inputVariable="Invoke_2_insert_InputVariable"/>
    </sequence>
    </case>
    <otherwise>
    <sequence name="Sequence_3">
    <empty name="Empty_1"/>
    <assign name="Transform_1">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('Transformation_3.xsl',bpws:getVariableData('Invoke_3_SynchRead_OutputVariable','EmpCollection'))"/>
    <to variable="Invoke_2_insert_InputVariable"
    part="VbEmpCollection"/>
    </copy>
    </assign>
    </sequence>
    </otherwise>
    </switch>
    <assign name="Assign_2">
    <copy>
    <from expression="bpws:getVariableData('iterater') + 1"/>
    <to variable="iterater"/>
    </copy>
    </assign>
    </sequence>
    </while>
    <reply name="replyOutput" partnerLink="client"
    portType="client:BPELProcess4" operation="process"
    variable="outputVariable"/>
    </sequence>
    </process>
    From the process flow, I can see that the array element expression works and the first employee record is correctly assigned to the Invoke_2_Input_Variable.
    However Invoke_2 is erroring out.
    Thanks
    Edited by: user8645981 on Feb 5, 2010 2:44 AM

  • Proble with Struts Taglib "logic:iterate"

    I m designing an simple application, it uses to input some data and then display them.
    For example,I want to input studentID,studentName into the database,but i want to input more than one student data each time.
    This is my FormBean souce:
    package system.form;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionMessage;
    import javax.servlet.http.HttpServletRequest;
    public class StudentForm {
        private String[] studentID;
        private String[] studentName;
        public String[] getStudentID() {
             return studentID;
        public String[] getStudentName() {
             return studentName;
        public void set(String[] field) {
             studentID = field;
        public void set(String[] field) {
             studentName = field;
    }This is my form:
    <html:form method="post" action="/add">
        StudentID: <html:text property="studentID"/>
        StudentName:<html:text property="studentName"/>
        <br/>
        StudentID: <html:text property="studentID"/>
        StudentName:<html:text property="studentName"/>
        <br/>
        <html:submit value="add"/>
    </html:form>The problem is: my StudentForm is in SESSION scope.So after i have input some data,i return to the input page, the text filed will display the data i inputed last time.
    But when i do it, i saw the data in the field are like this:
    [Ljava.lang.String;@595420
    [Ljava.lang.String;@a218a5
    [Ljava.lang.String;@2f54
    Not the data i input,I think the problem is that my attribute in the StudentForm is array string, not string. So there is any problem when display.
    What can i do to resolve it?
    Also,there is another problem.
    In my input page. I must iterate the input field like:
    StudentID: <html:text property="studentID"/>
        StudentName:<html:text property="studentName"/>
        <br/>
        StudentID: <html:text property="studentID"/>
        StudentName:<html:text property="studentName"/>
        <br/>
        ....So when i want to input 10 records each time, i must iterate the html above 10 times,and then 20 records needs iterating 20 times, it's bald and it makes the page hard to read and maintain.
    So i want to use Struts's Tag <logic:iterate> to manipulate it.
    But i don't know how to use it.
    Can anybody give me a hand? Thank u.

    First of all, the studentID and the studentName are related. If you keep them as two separate String arrays, it will be very hard to use logic:iterate to display them together.
    I would suggest that you first create a VO class which contains only studentID and studentName and have getter-setter methods for them. (This is logically good as you are modelling a student using a separate class) And, in your form, declare a studentVO[ ] and have getter-setter methods. You may need to change them and add new ones as they will have to be indexed. This can be looked up in the Struts documentation page.
    Finally in your jsp, iterate over the studentVO[ ] bean and give the respective getter property of studentID and studentName in VO with indexed = "true"....
    <logic:iterate id = "studentVO" name = "<formbean name>" property = "studentVO">
    <html:text name="studentVO" property = "studentID" indexed = "true"/>
    <html:text name="studentVO" property = "studentName" indexed = "true"/>
    etc..
    </logic:iterate>
    (Note that you may have to give the type attribute in your logic:iterate so that it may be cast into the right VO object)
    Hope this helps.

  • HTML tag input type="file"

    hello!
    i used the html tag <input type="file" name="fp"> to have a browse File in my html Page and succesfully gets the file,path and directory when i used fp.value on my windows but when i Load the Html file in Linux
    i only get the filename (excluding the Path)
    can someone tell how to get through this any solution ?
    nid yur help badly!
    Gud day!
    p.s. i used a javascript to get the pf.value.

    Here is a solution:
    Post your question on a relevant forum. These forums are for Java. Java is not Javascript. Javascript is not Java.

  • Best way to iterate through multiple variables?

    I need to iterate through three different variables (arrays), and was wondering what the best way to do this would be? I am more familiar with C than I am with LabVIEW at this point, but am getting up to speed on LabVIEW pretty quickly. Normally in C, I would just create three nested loops, but I am wondering if this is the best method in LabVIEW or not. I could use a state machine I think, which would give me some flexibility in re-arranging the order of iteration or adding or subtracting variables easier than working with nested loops I think...anyway, I'm open to suggestions.

    R.Gibson wrote:
    I need to iterate through three different variables (arrays), and was wondering what the best way to do this would be?
    Arrays are not "variables". can you be a bit more specific.
    R.Gibson wrote:
    I could use a state machine I think, which would give me some flexibility in re-arranging the order of iteration or adding or subtracting variables easier than working with nested loops.
     Why does the order matter? Rearranging in what way? If you do autoindexing, it will just iterate over all elements until it runs out of elements.
    ... And again, what do you mean by "variables"?
    It would help if you could show us a VI containing some typical input data in controls (make current value default, save) and explain what kind of output you expect.
    LabVIEW Champion . Do more with less code and in less time .

  • For loop to iterate through temp table in store procedure in pl/sql

    Hi,
    how to create For loop to iterate through the temporary table in the store procedure?

    Neha RK wrote:
    hi,
    its not working , i need to check each record of table and do some task using if else loop inside that for..
    if not possible to loop each row of table using for then how to use while loop.
    please helpWhat's not working? We haven't got psychic powers so we can't see the code you say isn't working.
    Please provide more information like create table statements, insert statements with test data, the code you've tried
    and the output you are expecting from the input data.
    Read {message:id=9360002} and follow the advice there.

  • CATS INTEGRATION WITH PP AND PM MODULE ( TO FIND ACTUAL MANPOWER COSTING THROUGH ACTIVITY TYPE)

    Hi Experts,
    We have a scenario like, Client wants to track the actual manpower costing through activity type ( Ex: How much hours an employee worked on a particular work center to produce an “X” product, So that his actual cost should be loaded on that product.
    We have employee ( 1. Staff 2. Worker 3. Contract labor employee and apprentice from third party roll and staff and worker we plan to go with negative time management and for contract labor and apprentice will go with through cats.
    Since we are not going to run the payroll for contract labor employee and apprentice, we just maintaining the employee data as a group ( Ex: Group A,B,C etc.. Each group consists 20 or 30 employees, According to system each group as one employee and according to us each group consists as 20 or 30 employee.
    The Activity type as well cost center will be created by Co module, the same will be assigned in info type 0315, but still i want more input from experts on the same, since i am new to cross application time sheet configuration, could any one help me out to find the actual manpower costing in a better way.
    Regards,
    Prem

    Hi Experts,
    Can any one please reply on the same.
    How to arrive the exact manpower costing through activity type ?..
    Regards,
    Prem

  • Iterate through all documents

    Hi,
    We have a container which contains *1 million* documents, each of which has size 5K. Container type is wholedocument. We need to iterate through all document regualrly using container.getAllDocuments(containerTxn, DBXML_LAZY_DOCS | DBXML_NO_INDEX_NODES). For each document, we will perform a xpath query in xml document in memory.
    The problem here is about whether we should use transaction. If transaction is used, getAllDocuments will report "Lock table is out of available lock entries" error when it scan about 9383 ducuments. Here are lock setting:
    envp->set_lk_max_lockers(6000);
    envp->set_lk_max_locks(6000);
    envp->set_lk_max_objects(8000);
    We have 1 million documents, it is impossible to set lock object to 1 million.
    My questions:
    (1) Is this normal? If so, why performing a dbxml query on the container doesn't cause such an error. I believe dbxml query has to iterate all of documents too.
    (2) Is it possible to use a seek position for getAllDocuments? Thus we can commit transaction every iterating 1000 documents, and then continue the iteration from the last seek position.
    (3) if we don't use transaction to call getAllDocuments, what possible problems will happen? Other threads are using transaction to read/update the documents.
    Thanks.
    -Yuan

    Yuan,
    The quickest thing to try is to add the flag DB_READ_COMMITTED to getAllDocuments(). That may reduce the number of locks you need. While you may not be able to set the various lock parameters to 1 million, you should set them much larger than you have now (e.g. 50k - 100k) for this sort of operation.
    Not using transactions at all can lead to inconsistent data mostly related to index consistency with document content. Depending on the nature of your updates it may be safe. You could get stray exceptions but nothing should crash. E.g. if you are only adding/removing documents you are probably safe without transactions; although you might iterate to a document that's been removed so you'll see an exception which would have to be ignored. I'm not 100% certain this will work well but if you can test it in a high-update environment and see no issues that will tell you. The read side will not interfere with the updates.
    As for "seeking" if you look under the covers getAllDocuments() is really just a wrapper for an index lookup on the name index. The XmlIndexLookup API is quite flexible in terms of returning ranges. If you want to look into returning ranges of documents, do this:
    1. look at the code in XmlContainer.cpp in the function "getDocs()". It uses XmlIndexLookup to perform the operation.
    2. look at the XmlIndexLookup API to figure out how to turn the lookup into a range lookup vs looking up ALL items in the index
    Using XmlIndexLookup and tracking the name of your last-used document you can easily ask for all documents "higher" than that one. Further, if you know how your documents are named lexicographically you can give it a maximum as well if you wanted, but given that you can set your XmlQueryContext to be lazy you can simply iterate N times to get the next N documents without paying a penalty retrieving any documents you don't need.
    For the sort of thing you are doing I highly recommend using XmlIndexLookup directly (with or without transactions) to get the flexibility you need. XmlContainer::getAllDocuments() is merely a "convenience" layer on that class.
    Regards,
    George

  • Building hashtable for INPUT types dynamically

    In my jsp I want to define a method which can build and return a hashtable of all the input types defined inside a form. For example if my form looks like :
    <form name="detail_form" method="post" action="">
    <input type="text" name="asset_name" size="15" value="ABC">
    <input type="text" name="asset_desc" size="45" value="Laptop">
    <input type="hidden" name="employee_id_key" value="58975">
    <input type="hidden" name="asset_id_key" value="15">
    </form>
    then my method will be like :
    <%!
    public Map getCurrentData()
    Map paras=new HashMap();
    paras.put ("asset_name", "ABC");
    paras.put ("asset_desc", "Laptop");
    paras.put ("employee_id_key", "58975");
    paras.put ("asset_id_key", "15");
    return paras;          
    %>
    Now the problem is :
    since the code inside the form can be dynamic (like there can be different number of INPUT types with different names) so I want my method getCurrentData() to be dynamic. That probably means some sort of loop to go through all the INPUT types in the form and storing it in hashtable. But I dont know how to do it in java. Can anybody help me please. Thanks

    I am not exactly sure what you mean by "input types" but you could use the request.getParameterMap() method after the form is submitted. So for example you would have your form like <form ... action="nextpage.jsp"> and on nextpage.jsp you could call request.getParameterMap() to create a map of all the paramaters and their values. Here is what I mean...
    <form name="detail_form" method="post" action="nextpage.jsp">
    <input type="text" name="asset_name" size="15" value="ABC">
    <input type="text" name="asset_desc" size="45" value="Laptop">
    <input type="hidden" name="employee_id_key" value="58975">
    <input type="hidden" name="asset_id_key" value="15">
    </form>
    then on nexpage.jsp you could say
    <% Map myMap = request.getParamaterMap(); %>
    Good Luck
    Zac

  • Iterate through UI elements in a view

    Hi,
    I would like to iterate through the UI elements in a view, to read their 'id' values, and populate an arraylist. Could you please suggest how to accomplish this ?
    Thanks !

    Hi,
    If ur requirement is just to get the ID's Noufal 's solution should be sufficient.
    IWDTransparentContainer t = (IWDTransparentContainer)view.getElement("RootUIElementContainer");
    IWDUIElement a[] = t.getChildren();
    for(int i =0;i<a.length;i++){
    wdThis.wdGetAPI().getComponent().getMessageManager().reportSuccess(a<i>.getId());
    IWDUIElement i1 = (IWDUIElement)view.getElement(a<i>.getId());
    wdThis.wdGetAPI().getComponent().getMessageManager().reportSuccess(""+i1.getClass());
    If all the elements are created in design time you will know the element IDs and types. So further processing for manipulation of the UI properites will be easy.
    But if elements are added dynamically you will be able to get their ID s and the class type. But i wonder if u will be able to proceed further.
    Regards
    Bharathwaj

  • How to iterate through files in a directory in real time?

    I have a program where users can write RPN equations into txt files so that the number and type of equations are completely customizable at run time.  I need to be able to iterate through .txt files in an Equations folder to load the equations into memory.  How can I do this in real time?
    I know I could make the files eq 1.txt through eq 2.txt and iterate through until one doesn't exist, but my standard method has been to name the filename the same as the equation name.  Either way works.
    Thank you.
    Michael Chadwell
    Department of Engine and Vehicle R&D
    Southwest Research Institute

    Hi Michael,
    You could also use the GetFirstFile and GetNextFile functions that come built into CVI. These functions should allow you to iterate through the files in a directory.
    GetFirstFile: http://zone.ni.com/reference/en-XX/help/370051Y-01/cvi/libref/cvigetfirstfile/
    GetNextFile: http://zone.ni.com/reference/en-XX/help/370051Y-01/cvi/libref/cvigetnextfile/
    Hope this helps,
    Kevin

Maybe you are looking for

  • How to use a picture more than once in the light table?

    when i drag a picture from my browser to the light table i get the number 1 in the thumbnail. the book suggests that we can drag more than once the same picture in the light table but i have not yet figured out how to do it? any ideas?

  • I am in sql plus how do I find out what database I am in?

    I am in sql plus how do I find out what database I am in? is there a sql command for that...

  • ALV print header

    Hi, I need to print the main header again when the subtotal is printed in the same page, I don´t want to force a new page, Is it possible ? Domingos. Eg:  Page 1 header colum1  colum2 colum3...          x        x     x        subtotal  xxxxxxxxxxxxx

  • EP7.31 integration with Sharepoint 2010

    Hi , we are integrating EP 7.31 with Sharepoint 2010 server, we can able to see in HTTP header in MYSSO2 ticket cookie,but Sharepoint application can't able to parse the ticket, Here is the Log : [Thr 10788]     Initializing SSF Library Version [Thr

  • Conversion of frames to AVI

    Hi, I'm using the last version of JMF and I can generate an AVI file from a list of JPEG images. The problem is that the file is too big!! A generated sequence with Quicktime gets 400KB versus the AVI one that has 10MB! The problem is that I don't kn