Af:train label

Hi all,
I like to add label for train step.
is there any way to achieve it?
With Regards,
WP

Hi,
select the view activity in the task flow diagram and open the Structure Window. Select the view activity train node and choose "Insert Inside" to add a display label
Frank

Similar Messages

  • Process Train Only goes Forward

    I am trying to implement the process train sample from the programming guide. I have it all wired up and things show up correctly, but the process will only go foward, can anybody see something I missed?
    From my Faces File
    <!--First train node -->
    <managed-bean>
    <managed-bean-name>createTrain_Step1</managed-bean-name>
    <managed-bean-class>custom.menu.MenuItem</managed-bean-class>
    <managed-bean-scope>application</managed-bean-scope>
    <managed-property>
    <property-name>label</property-name>
    <value>Create Request</value>
    </managed-property>
    <managed-property>
    <property-name>viewId</property-name>
    <value>/addRequest.jspx</value>
    </managed-property>
    <managed-property>
    <property-name>outcome</property-name>
    <value>RequestAdd</value>
    </managed-property>
    </managed-bean>
    <!-- Second train node-->
    <managed-bean>
    <managed-bean-name>createTrain_Step2</managed-bean-name>
    <managed-bean-class>custom.menu.MenuItem</managed-bean-class>
    <managed-bean-scope>application</managed-bean-scope>
    <managed-property>
    <property-name>label</property-name>
    <value>Add Files</value>
    </managed-property>
    <managed-property>
    <property-name>viewId</property-name>
    <value>/addRequestFiles.jspx</value>
    </managed-property>
    <managed-property>
    <property-name>outcome</property-name>
    <value>Continue</value>
    </managed-property>
    </managed-bean>
    <!-- Third train node-->
    <managed-bean>
    <managed-bean-name>createTrain_Step3</managed-bean-name>
    <managed-bean-class>custom.menu.MenuItem</managed-bean-class>
    <managed-bean-scope>application</managed-bean-scope>
    <managed-property>
    <property-name>label</property-name>
    <value>Create CMIS-R Statement</value>
    </managed-property>
    <managed-property>
    <property-name>viewId</property-name>
    <value>/addRequestPart3.jspx</value>
    </managed-property>
    <managed-property>
    <property-name>outcome</property-name>
    <value>Continue</value>
    </managed-property>
    </managed-bean>
    <!-- Fourth train node-->
    <managed-bean>
    <managed-bean-name>createTrain_Step4</managed-bean-name>
    <managed-bean-class>custom.menu.MenuItem</managed-bean-class>
    <managed-bean-scope>application</managed-bean-scope>
    <managed-property>
    <property-name>label</property-name>
    <value>Create QC Report</value>
    </managed-property>
    <managed-property>
    <property-name>viewId</property-name>
    <value>/addRequestPart4.jspx</value>
    </managed-property>
    <managed-property>
    <property-name>outcome</property-name>
    <value>Continue</value>
    </managed-property>
    </managed-bean>
    <!-- create the list to pass to the train model -->
    <managed-bean>
    <managed-bean-name>createTrainNodes</managed-bean-name>
    <managed-bean-class>java.util.ArrayList</managed-bean-class>
    <managed-bean-scope>application</managed-bean-scope>
    <list-entries>
    <value-class>custom.menu.MenuItem</value-class>
    <value>#{createTrain_Step1}</value>
    <value>#{createTrain_Step2}</value>
    <value>#{createTrain_Step3}</value>
    <value>#{createTrain_Step4}</value>
    </list-entries>
    </managed-bean>
    <!-- create the train menu model -->
    <managed-bean>
    <managed-bean-name>createTrainMenuModel</managed-bean-name>
    <managed-bean-class>custom.menu.TrainModelAdapter</managed-bean-class>
    <managed-bean-scope>application</managed-bean-scope>
    <managed-property>
    <property-name>viewIdProperty</property-name>
    <value>viewId</value>
    </managed-property>
    <managed-property>
    <property-name>instance</property-name>
    <value>#{createTrainNodes}</value>
    </managed-property>
    </managed-bean>
    <!-- For the Process Train -->
    <navigation-rule>
    <from-view-id>/addRequest.jspx</from-view-id>
    <navigation-case>
    <from-outcome>Continue</from-outcome>
    <to-view-id>/addRequestFiles.jspx</to-view-id>
    </navigation-case>
    </navigation-rule>
    <navigation-rule>
    <from-view-id>/addRequestFiles.jspx</from-view-id>
    <navigation-case>
    <from-outcome>Continue</from-outcome>
    <to-view-id>/addRequestPart3.jspx</to-view-id>
    </navigation-case>
    <navigation-case>
    <from-outcome>Back</from-outcome>
    <to-view-id>/addRequest.jspx</to-view-id>
    </navigation-case>
    </navigation-rule>
    <navigation-rule>
    <from-view-id>/addRequestPart3.jspx</from-view-id>
    <navigation-case>
    <from-outcome>Continue</from-outcome>
    <to-view-id>/addRequestPart4.jspx</to-view-id>
    </navigation-case>
    <navigation-case>
    <from-outcome>Back</from-outcome>
    <to-view-id>/addRequestFiles.jspx</to-view-id>
    </navigation-case>
    </navigation-rule>
    <navigation-rule>
    <from-view-id>/addRequestPart4.jspx</from-view-id>
    <navigation-case>
    <from-outcome>Back</from-outcome>
    <to-view-id>/addRequestPart3.jspx</to-view-id>
    </navigation-case>
    </navigation-rule>
    From my Pages
    <f:facet name="location">
    <af:processTrain value="#{createTrainMenuModel.model}" var="train">
    <f:facet name="nodeStamp">
    <af:commandMenuItem text="#{train.label}"
    action="#{train.getOutcome}"
    readOnly="#{createTrainMenuModel.model.readOnly}"
    immediate="false"/>
    </f:facet>
    </af:processTrain>
    </f:facet>
    <f:facet name="actions">
    <af:panelButtonBar>
    <af:processChoiceBar var="choice"
    value="#{createTrainMenuModel.model}">
    <f:facet name="nodeStamp">
    <af:commandMenuItem text="#{choice.label}"
    action="#{choice.getOutcome}"
    readOnly="#{createTrainMenuModel.model.readOnly}"
    immediate="false"/>
    </f:facet>
    </af:processChoiceBar>
    </af:panelButtonBar>
    </f:facet>

    Nothing proprietary, but I made up a quick example derived from mine that has simplified names:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE faces-config PUBLIC
      "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
      "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
    <faces-config>
      <application>
        <locale-config>
          <default-locale>en_US</default-locale>
          <supported-locale>en</supported-locale>
        </locale-config>
      </application>
      <!-- Use the ADF RenderKit -->
      <application>
        <default-render-kit-id>
          oracle.adf.core
        </default-render-kit-id>
      </application>
      <!-- processTrain start -->
      <managed-bean>
        <managed-bean-name>NavigationList</managed-bean-name>
        <managed-bean-class>
          java.util.ArrayList
        </managed-bean-class>
        <managed-bean-scope>
          none
        </managed-bean-scope>
        <list-entries>
          <value-class>MenuItem</value-class>
          <value>#{A}</value>
          <value>#</value>
    <value>#{C}</value>
    </list-entries>
    </managed-bean>
    <managed-bean>
    <managed-bean-name>NavigationTree</managed-bean-name>
    <managed-bean-class>
    oracle.adf.view.faces.model.ChildPropertyTreeModel
    </managed-bean-class>
    <managed-bean-scope>none</managed-bean-scope>
    <managed-property>
    <property-name>childProperty</property-name>
    <value>children</value>
    </managed-property>
    <managed-property>
    <property-name>wrappedData</property-name>
    <value>#{NavigationList}</value>
    </managed-property>
    </managed-bean>
    <!-- create the menuModel -->
    <managed-bean>
    <managed-bean-name>NavigationMenuModel</managed-bean-name>
    <managed-bean-class>
    oracle.adf.view.faces.model.ProcessMenuModel
    </managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    <managed-property>
    <property-name>viewIdProperty</property-name>
    <value>viewId</value>
    </managed-property>
    <managed-property>
    <property-name>wrappedData</property-name>
    <value>#{NavigationTree}</value>
    </managed-property>
    </managed-bean>
    <managed-bean>
    <managed-bean-name>A</managed-bean-name>
    <managed-bean-class>
    MenuItem
    </managed-bean-class>
    <managed-bean-scope>none</managed-bean-scope>
    <managed-property>
    <property-name>viewId</property-name>
    <value>/A.jspx</value>
    </managed-property>
    <managed-property>
    <property-name>outcome</property-name>
    <value>A</value>
    </managed-property>
    <managed-property>
    <property-name>label</property-name>
    <value>A</value>
    </managed-property>
    </managed-bean>
    <managed-bean>
    <managed-bean-name>B</managed-bean-name>
    <managed-bean-class>
    MenuItem
    </managed-bean-class>
    <managed-bean-scope>none</managed-bean-scope>
    <managed-property>
    <property-name>viewId</property-name>
    <value>/B.jspx</value>
    </managed-property>
    <managed-property>
    <property-name>outcome</property-name>
    <value>B</value>
    </managed-property>
    <managed-property>
    <property-name>label</property-name>
    <value>B</value>
    </managed-property>
    </managed-bean>
    <managed-bean>
    <managed-bean-name>C</managed-bean-name>
    <managed-bean-class>
    MenuItem
    </managed-bean-class>
    <managed-bean-scope>none</managed-bean-scope>
    <managed-property>
    <property-name>viewId</property-name>
    <value>/C.jspx</value>
    </managed-property>
    <managed-property>
    <property-name>outcome</property-name>
    <value>C</value>
    </managed-property>
    <managed-property>
    <property-name>label</property-name>
    <value>C</value>
    </managed-property>
    </managed-bean>
    <navigation-rule>
    <navigation-case>
    <from-outcome>A</from-outcome>
    <to-view-id>/A.jspx</to-view-id>
    </navigation-case>
    <navigation-case>
    <from-outcome>B</from-outcome>
    <to-view-id>/B.jspx</to-view-id>
    <redirect/>
    </navigation-case>
    <navigation-case>
    <from-outcome>C</from-outcome>
    <to-view-id>/C.jspx</to-view-id>
    </navigation-case>
    </navigation-rule>
    </faces-config>
    And one of the jspx files, C.jspx, just change the panelHeader for display:
    <?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:af="http://xmlns.oracle.com/adf/faces"
      >
      <jsp:directive.page contentType="text/html;charset=utf-8"/>
      <f:view>
        <af:document>
          <af:form>
            <af:processTrain var="foo"
              value="#{NavigationMenuModel}">
              <f:facet name="nodeStamp">
                <af:commandMenuItem text="#{foo.label}"
                  action="#{foo.getOutcome}"
                  immediate="#{NavigationMenuModel.immediate}"
                  readOnly="#{NavigationMenuModel.readOnly}"
                  />
              </f:facet>
            </af:processTrain>
            <af:objectSpacer height="50"/>
            <af:panelHeader text="C"/>
          </af:form>
        </af:document>
      </f:view>
    </jsp:root>MenuItem is copied verbatim from classes/oracle/adfdemo/view/faces/menu/DemoMenuItem.java and I just have it stored in my webapp at WEB-INF/classes/MenuItem.class. Nothing fancy, but I can go back and forth. I have this example working here, but like I said previously, I'm kind of cargo culting here. For me, processTrain is one of the more odd components probably because most of the component wiring happens in xml.
    -jim

  • Optimizing jsp (struts)

    I am having problem with following jsp. Its taking very less time to load the data from database(using struts action class at backend) and the control is coming back to the browser soon , but its taking a long time to display the contents in the browser. What may be the issue. The jsp is as follows. It has lot of list boxes with huge data. Is there any way to optimize this page so that it loads faster.
    <%@ taglib uri="/tags/struts-bean" prefix="bean" %>
    <%@ taglib uri="/tags/struts-html" prefix="html" %>
    <%@ taglib uri="/tags/struts-logic" prefix="logic" %>
    <%@ page buffer="24kb" %>
    <jsp:include page="../header.jsp" ></jsp:include>
    <SCRIPT LANGUAGE="JavaScript">
    function submitThisForm(thisElem) {
    var verValue = thisElem.form.version.value;
    thisElem.form.version.value = trim(verValue);
    verValue = thisElem.form.version.value;
    var osTypeValue = thisElem.form.osType.value;
    var osFunValue = thisElem.form.osFunction.value;
    if (verValue.length != 0) {
    if ((osTypeValue == "" || osTypeValue == null) && (osFunValue == "" || osFunValue == null)) {
    alert ("Please select OS Type and Function");
    thisElem.form.osType.focus();
    return false;
    } else if (osTypeValue == "" || osTypeValue == null) {
    alert ("Please select OS Type");
    thisElem.form.osType.focus();
    return false;
    } else if (osFunValue == "" || osFunValue == null) {
    alert ("Please select Function");
    thisElem.form.osFunction.focus();
    return false;
    if(thisElem.form.memcheckVal.value.length > 0) {
    var val=thisElem.form.memcheckVal.value.match(/^\d+$/);
    if(val == null) {
    alert("Enter numeric value for memory");
    thisElem.form.memcheckVal.focus();
    return false;
    if(thisElem.form.flashcheckVal.value.length > 0) {
    var val=thisElem.form.flashcheckVal.value.match(/^\d+$/);
    if(val == null) {
    alert("Enter numeric value for flash");
    thisElem.form.flashcheckVal.focus();
    return false;
    return true;
    // Trim whitespace from left and right sides of s.
    function trim(s) {
    return s.replace( /^\s*/, "" ).replace( /\s*$/, "" );
    </SCRIPT>
    <!-- START OF PAGE -->
    <%
    String custId = request.getParameter("custId");
    String cpyKey = request.getParameter("cpyKey");
    System.out.println("Entered JSP Scriplet ");
    System.out.println("Buffer size is --"+ response.getBufferSize());
    %>
    <br/>
    <p class="note">
    <strong>Simple Config Search: </strong> This option will search the configuration files for keywords, allowing the ability to use AND/OR and NOT between lines. No wild cards are allowed, however this is a fast way of finding a keyword in a configuration file.
    <br/><br/>
    <strong>Regular Expression Config Search: </strong><br/>
    This option will search the configuration files, (line by line) using egrep. Therefore all expressions as
    supported by egrep, are supported here.
    <br/><br/>
    <strong>Combined Simple and Regular Expression Config Search: </strong><br/>
    Use the combined search for faster search results. It will search the whole document first with the
    Simple Search criteria (fast) and then pass the results on for Regular Expression matching (slow).
    </p>
    <p class="note">
    <strong>Note:</strong><br/>
    The search does an 'AND' between rows and an 'OR' on the fields inside each row.<br/> To select more than one in each row press 'CNTRL' key .
    <br/><br/>
    <strong>Device Name Pattern:</strong><br/>
    Enter a pattern for device names using '*' only.<br/>
    If device name is chosen from list "Device Names" above it, then that shall take precedence.
    <br/><br/>
    <strong>Chassis Serial Number:</strong><br/>
    Multiple patterns should be separated by a comma
    </p>
    <html:form action="/srchAction.do">
    <html:hidden property="custId" value="<%=custId%>"/>
    <html:hidden property="cpyKey" value="<%=cpyKey%>"/>
    <div class="tableholder" title="Name Or Describe The Form here">
    <table border="0" cellpadding="3" cellspacing="5">
    <tr>
    <td>
    <label for="swish">Simple Config Search</label>
    </td>
    <td>
    <html:text property="swish" size="45"/>
    </td>
    </tr>
    <tr>
    <td>
    <label for="rcsrch">Regex Config Search</label>
    </td>
    <td>
    <html:text property="regex" size="45"/>
    </td>
    </tr>
    <tr>
    <td colspan="2">
    <br/>    
    <input class="buttonpos" type="submit" name="search" value="Search" />
    </td>
    </tr>
    <tr>
    <td colspan="2"><div class="horizontalgraydots"></div></td>
    </tr>
    <tr>
    <td>
    <label for="groupNameId">Groups</label>
    </td>
    <td>
    <html:select property="groupNameId" multiple="true" size="4">
    <option value="any" selected>Any</option>
    <%
    %>
    <html:optionsCollection name="GROUP_LIST" value="groupId" label="groupName" />
    <%
    %>
    </html:select>
    <br/>
    </td>
    </tr>
    <tr>
    <td colspan="2"><div class="horizontalgraydots"></div></td>
    </tr>
    <tr>
    <td>
    <label for="deviceNameId">Device Names</label>
    </td>
    <td>
    <html:select property="deviceNameId" multiple="true" size="4">
    <option value="any" selected>Any</option>
    %>
    <html:optionsCollection name="DEVICE_LIST" value="deviceId" label="deviceName" />
    <%
    %>
    </html:select>
    <br/><br/>
    <label for="text" value="">Pattern </label>
    <html:text property="deviceNamePat" size="20"/>
    </td>
    </tr>
    <tr>
    <td colspan="2"><div class="horizontalgraydots"></div></td>
    </tr>
    <tr>
    <td>
    <label for="os">SW Version</label>
    </td>
    <td>
    <html:select size="4" property="os" multiple="true">
    <option value="any" selected>Any</option>
    <html:options name="INV_DETAILS" property="osValues" />
    </html:select>
    <br/><br/>
    <label for="major" value="">Maj Ver </label><html:text property="major" value="*" size="2"/>
    <label for="minor" value="">Min Ver </label><html:text property="minor" value="(*)" size="2"/>
    <label for="release" value="">Release Train </label><html:text property="release" value="*" size="2"/>
    </td>
    </tr>
    <tr>
    <td colspan="2"><div class="horizontalgraydots"></div></td>
    </tr>
    <tr>
    <td>
    <label for="hostnames">Version Function</label>
    </td>
    <td>
    <label for="version" value="">Version </label><html:text property="version" size="20"/><br/>
    <label for="osType" value="">OS Type </label>
    <html:select property="osType">
    <html:option value=""> </html:option>
    <html:option value="IOS">IOS</html:option>
    <html:option value="CatOS">CatOS</html:option>
    </html:select>
    <br/>
    <label for="osFunction" value="">Function </label>
    <html:select property="osFunction">
    <html:option value=""> </html:option>
    <html:option value="releaseGreater">releaseGreater (Full Version Greater)</html:option>
    <html:option value="releaseGreaterEqual">releaseGreaterEqual (Full Version GreaterEqual)</html:option>
    <html:option value="releaseLesser">releaseLesser (Full Version Lesser)</html:option>
    <html:option value="releaseLesserEqual">releaseLesserEqual (Full Version LesserEqual)</html:option>
    </html:select>
    </td>
    </tr>
    <tr>
    <td colspan="2"><div class="horizontalgraydots"></div></td>
    </tr>
    <tr>
    <td>
    <label for="hwfam">HW Family</label>
    </td>
    <td>
    <html:select size="4" property="hwfam" multiple="true" >
    <option value="any" selected>Any</option>
    <html:options name="INV_DETAILS" property="hwfamValues" />
    </html:select>
    <br/><br/>
    <label for="hwfamPattern" value="">Pattern </label>
    <html:text property="hwfamPattern" value="*" size="20"/>
    </td>
    </tr>
    <tr>
    <td colspan="2"><div class="horizontalgraydots"></div></td>
    </tr>
    <tr>
    <td>
    <label for="pid">Chassis Product ID</label>
    </td>
    <td>
    <html:select size="4" property="pid" multiple="true">
    <option value="any" selected>Any</option>
    <html:options name="INV_DETAILS" property="pidValues" />
    </html:select>
    </td>
    </tr>
    <tr>
    <td colspan="2"><div class="horizontalgraydots"></div></td>
    </tr>
    <tr>
    <td>
    <label for="hwchass">Chassis SNMP Name</label>
    </td>
    <td>
    <html:select size="4" property="hwchass" multiple="true">
    <option value="any" selected>Any</option>
    <html:options name="INV_DETAILS" property="hwchassValues" />
    </html:select>
    </td>
    </tr>
    <tr>
    <td colspan="2"><div class="horizontalgraydots"></div></td>
    </tr>
    <tr>
    <td>
    <label for="tech">Technology</label>
    </td>
    <td>
    <html:select size="4" property="tech" multiple="true">
    <option value="any" selected>Any</option>
    <html:options name="INV_DETAILS" property="techValues" />
    </html:select>
    </td>
    </tr>
    <tr>
    <td colspan="2"><div class="horizontalgraydots"></div></td>
    </tr>
    <tr>
    <td>
    <label for="features">Features</label>
    </td>
    <td>
    <html:select size="4" property="features" multiple="true" >
    <option value="any" selected>Any</option>
    <html:options name="INV_DETAILS" property="featValues" />
    </html:select>
    </td>
    </tr>
    <tr>
    <td colspan="2"><div class="horizontalgraydots"></div></td>
    </tr>
    <tr>
    <td>
    <label for="cfam">Module Family</label>
    </td>
    <td>
    <html:select size="4" property="cfam" multiple="true" >
    <option value="any" selected>Any</option>
    <html:options name="INV_DETAILS" property="cfamValues" />
    </html:select>
    </td>
    </tr>
    <tr>
    <td colspan="2"><div class="horizontalgraydots"></div></td>
    </tr>
    <tr>
    <td>
    <label for="cfam">Module Product ID</label>
    </td>
    <td>
    <html:select size="4" property="cardspid" multiple="true" >
    <option value="any" selected>Any</option>
    <html:options name="INV_DETAILS" property="cardPidValues" />
    </html:select>
    </td>
    </tr>
    <tr>
    <td colspan="2"><div class="horizontalgraydots"></div></td>
    </tr>
    <tr>
    <td>
    <label for="cards">Module SNMP Name</label>
    </td>
    <td>
    <html:select size="4" property="cards" multiple="true" >
    <option value="any" selected>Any</option>
    <html:options name="INV_DETAILS" property="cardsValues" />
    </html:select>
    <br/><br/>
    <label for="cardPattern" value="">Pattern </label>
    <html:text property="cardPattern" value="*" size="20"/>
    </td>
    </tr>
    <tr>
    <td colspan="2"><div class="horizontalgraydots"></div></td>
    </tr>
    <tr>
    <td>
    <label for="inffam">Interface Family</label>
    </td>
    <td>
    <html:select size="4" property="inffam" multiple="true" >
    <option value="any" selected>Any</option>
    <html:options name="INV_DETAILS" property="inffamValues" />
    </html:select>
    </td>
    </tr>
    <tr>
    <td colspan="2"><div class="horizontalgraydots"></div></td>
    </tr>
    <tr>
    <td>
    <label for="infs">Interfaces</label>
    </td>
    <td>
    <html:select size="4" property="infs" multiple="true" >
    <option value="any" selected>Any</option>
    <html:options name="INV_DETAILS" property="infsValues" />
    </html:select>
    <br/><br/>
    <label for="interfacePattern" value="">Pattern </label>
    <html:text property="interfacePattern" value="*" size="20"/>
    </td>
    </tr>
    <tr>
    <td colspan="2"><div class="horizontalgraydots"></div></td>
    </tr>
    <tr>
    <td>
    <label for="srlNumPattern">Chassis Serial Number</label>
    </td>
    <td>
    <html:text property="srlNumPattern" value="*" size="45"/>
    </td>
    </tr>
    <tr>
    <td colspan="2"><div class="horizontalgraydots"></div></td>
    </tr>
    <tr>
    <td>
    <label for="memopVal">Memory</label>
    </td>
    <td>
    <html:select property="memopVal" size="1">
    <html:option value="gt">></html:option>
    <html:option value="lt"><</html:option>
    <html:option value="gte">>=</html:option>
    <html:option value="lte"><=</html:option>
    <html:option value="eq">=</html:option>
    </html:select>
    <html:text property="memcheckVal" size="8"/> MB
    </td>
    </tr>
    <tr>
    <td>
    <label for="flashopVal">Flash</label>
    </td>
    <td>
    <html:select property="flashopVal" size="1">
    <html:option value="gt">></html:option>
    <html:option value="lt"><</html:option>
    <html:option value="gte">>=</html:option>
    <html:option value="lte"><=</html:option>
    <html:option value="eq">=</html:option>
    </html:select>
    <html:text property="flashcheckVal" size="8"/> MB
    </td>
    </tr>
    <tr>
    <td colspan="2">
    <br/>    
    <input class="buttonpos" type="submit" name="search" value="Search" onclick="return submitThisForm(this);"/>
    </td>
    </tr>
    </table>
    </div>
    </html:form>
    <!-- END OF PAGE -->
    <jsp:include page="../footer.jsp"></jsp:include>

    <link rel='stylesheet' type='text/css' href="../stylesheets/common.css">
    The problem will be caused by the relative link to your stylesheet
    If your jsp page is /subdirectory/jsppage.jsp
    and your form is submitted to /controlServlet
    it looks for the css file relative to /controlServlet - ie it won't find it from here.
    There are two solutions.
    If your stylesheets can be accessed via absolute reference, make it so
    ie <link rel='stylesheet' type='text/css' href="/stylesheets/common.css">
    Thus you use only absolute references, and no relative links
    The other solution: to use relative links, you have to specify a base.
    <base href="reference to your jsp page\">

  • Page Headings

    I am creating some wizard pages using JHead. Near the top of each form there is a heading (underneath the train). The heading takes the form of - Mode (Edit) - Title - Date. This title appears to be taken from the ApplicationResources.properties file. This file is created during the generation process. I was wondering how i could change the titles generated within the ApplicationResources.properties file. (I could not find an appropriate custom template.).
    Also a point to note is even though i am actually doing an insert - the mode within the title is displayed as Edit. I am not sure if this is a bug or there is some other reason i am not showing in insert mode). The inserts work ok. The insert is done by setting the creating an executable within the pagedef calling the create binding generated by JHead.
    Thanks Alan

    Hi Steven
    You said above that in the new version that:
    "Alternatively, you can uncheck the new release candidate group-level property "Add verb to Form Title?" which rresults in the group title generated being identival to your Display Title Plural (in table layout) or Display Title Singular (in form layout)."
    Having tried this i ran i found practicality problems with this. As the wizard separates the pages by item region correctly i find that using the group title that the same heading appears on all pages for that goup even although in practice this is like to have many wizard pages. This would also make the title replicate the train labels.
    Can i therefore recommend that "Layout title" for the item region is used instead. Or atleast it is given as an option.
    Cheers
    Alan
    Message was edited by:
    brysona

  • Errors on IMAQ Train SVM due to invalid number of labels in weighted cost

    I get errors when I try to train texture using 'IMAQ Train SVM' due to invalid number of labels in weighted cost. I could not find much information about weighted cost for the 'Model Options' input. What type of label needs to be supplied and how many? I could not find any related information in NIVisionConcepts document. Are there any other references?
    Thanks,
    -ygno

    Hi ygno,
    According to this help document you need an array of labels and weight. Make sure you initialize the array when you use the VI and have the appropriate amount of elements in the array.
    Paolo F.
    National Instruments
    Applications Engineer

  • Train stop label wrapping issue?

    Hi,
    I have a vertical train in my page and it renders like the following:
    * Step 15 Update
    Service Request
    * Step 16 Create
    Test Manual Request
    * Step 18 Create
    New ITAS Softward Change Record
    What I want is that the text in each train node DOES NOT wrap, like this:
    * Step 15 Update Service Request
    * Step 16 Create Test Manual Request
    * Step 18 Create New ITAS Softward Change Record
    This train is inside this layout: panelAccordion=> panelStretchLayout:
    Here is the code snipplet:
    <af:panelAccordion id="pa1" styleClass="AFStretchWidth"
    discloseNone="true">
    <af:showDetailItem text="Flow Steps &amp; Parameter Assignments"
    id="sdi32">
    <af:panelStretchLayout id="pg115">
    <f:facet name="center">
    <af:group id="g7">
    <af:train var="node"
    value="#{viewScope.customTrainModel}"
    layout="vertical" id="train"
    rendered="true"
    styleClass="AFStretchWidth">
    <f:facet name="nodeStamp">
    <af:commandNavigationItem text="#{node.label}"
    action="openParamAssignPopup"
    immediate="#{viewScope.CustomTrainModel.immediate}"
    disabled="#{viewScope.CustomTrainModel.readOnly}"
    visited="#{viewScope.CustomTrainModel.visited}"
    id="commandNavigationItem"
    windowHeight="#{session_resourceProfile.popupHeight}"
    windowWidth="#{session_resourceProfile.popupWidth}"
    useWindow="true"
    actionListener="#{session_flowBean.refreshTrain}">
    </af:commandNavigationItem>
    </f:facet>
    </af:train>
    </af:panelStretchLayout>
    </af:showDetailItem>
    </af:panelAccordion>
    Any ideas/help are appreciated.
    Thanks
    -Mina

    I tried wrapping af:commandNavigationItem with a panelGroupLayout layout set to horizontal, then set its width to e. g. 200px. It has error. It's not allowed. Then I tried wrapping the af:train with a panelGroupLayout layout set to horizontal, then set its width to e. g. 200px. Still does not work. The text of the train node still wraps.
    Any other ideas?
    Thanks
    -Mina

  • Junk Mail won't move to Junk folder after training+switching to automatic

    After training for months, I switched my preferences to automatic and now my existing junk mail doesn't move to the junk folder.
    Dual 2 GHz PowerPC G5   Mac OS X (10.4.3)  

    Same problem here - also using an IMAP account. Junk mail is labeled correctly but does not move automatically to the junk folder even though the option to do that is enabled in preferences.

  • Is inDesign the best product for publishing an interactive training manual?

    I am building an interactive training manual for a fire department and I need to find out the best way to publish this document for use on an iPad or other tablet.  I will be embedding video, text, and photos, along with stacking photos for the 360 degree view.  So far I have read that there is a 2GB size limitation for articles.  I've also read that there is was way to publish privately if it becomes difficult to download from acrobat.com.  I would like this training manual to be all inclusive without having to break it up into multiple articles.  I would like to embed over 3 hours of video, over 200 photographs, over 260 pages of text, and have interactivity throughout.  Is this out of inDesign's scope?  Is there a way to publish this large of a document to multiple iPads without using the App Store or Android Market?  I'm just starting out so I'm looking forward for any constructive help I can get.

    HOW interactive are we talking here? Buttons with rollovers, menus, or the ability to fill in answers like a workbook?
    A freelance client of mine wanted to prepare a workbook with "interactivity" and all looked well... until i was told what "interactive" meant. This example was a science workbook for schools which behaved as a facsimile of the normal book which would be filled in by hand, except that answers were not always checkboxes or text. Sometimes answers would be:
    plot a graph
    draw a picture of an amoeba (for example) and label the parts; or draw the diagram of isopropyl alcohol;
    fill in a crossword
    join the correct reducing agent to the correct oxidising agent
    AFAIK this kind of interactivity isn't possible with the off-the-shelf indesign, and i don't know of any third party software which provides this kind of interactivity. Yes, the author could have been asked to rephrase the questions to fit the limitations of indesign's fill-in forms and interactivity, but the author did not want this.
    Also, is tablet-specific software the right platform to use? Perhaps a website with a paywall may be a better form of distribution and construction, allowing a RIA (Rich Internet Application) to be made for the project.

  • How can I change the color of interactive image label box background.

    Interactive image labels are a bit overwhelming in appearance. Can I change the label background color or make it partially transparent? I have tried several things and looked this up on Lynda.com training but no info.

    don't know how much this might help but you can change some colors using the Inspector as follows:
    from the text menu you can control paragraph and character colors, from the text menu you can control the text color.
    hope this helps...

  • Neighbor send-label - a possible bug in 12.4(24)T4 and newer

    Dear friends,
    I have stumbled across a different behavior of the neighbor send-label in BGP in IOS versions 12.4(24)T4 up to 12.4(24)T6 inclusive, and I wanted to ascertain whether it is a bug or just a new behavior I am not yet aware of.
    Consider the following scenario: Router X, Y and Z are peered in BGP according to the exhibit. Router X is in AS 2, routers Y and Z are in AS 1. X/Y are peered using their physical interface addresses, routers Y/Z are peered using their loopback addresses. Each peering is duly configured with neighbor send-label.
    The BGP configuration on router Y is as follows:
    Y# show run | sec router bgp
    router bgp 1
    bgp log-neighbor-changes
    neighbor 10.1.255.1 remote-as 1
    neighbor 10.1.255.1 update-source Loopback0
    neighbor 192.168.1.2 remote-as 2
    address-family ipv4
      redistribute ospf 1
      neighbor 10.1.255.1 activate
      neighbor 10.1.255.1 send-label
      neighbor 192.168.1.2 activate
      neighbor 192.168.1.2 send-label
      no auto-summary
      no synchronization
    exit-address-family
    Router Y is receiving a set of routes from X, in particular:
    Y# show ip bgp regexp _2
    BGP table version is 22, local router ID is 10.1.255.5
    Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
                  r RIB-failure, S Stale
    Origin codes: i - IGP, e - EGP, ? - incomplete
       Network          Next Hop            Metric LocPrf Weight Path
    *> 10.2.12.0/24     192.168.1.2              4             0 2 ?
    *> 10.2.23.0/24     192.168.1.2              3             0 2 ?
    *> 10.2.34.0/24     192.168.1.2              2             0 2 ?
    *> 10.2.45.0/24     192.168.1.2              0             0 2 ?
    *> 10.2.255.1/32    192.168.1.2              5             0 2 ?
    *> 10.2.255.2/32    192.168.1.2              4             0 2 ?
    *> 10.2.255.3/32    192.168.1.2              3             0 2 ?
    *> 10.2.255.4/32    192.168.1.2              2             0 2 ?
    *> 10.2.255.5/32    192.168.1.2              0             0 2 ?
    The show ip bgp label on router Y, however, produces rather interesting results:
    Y# show ip bgp labels
       Network          Next Hop      In label/Out label
       10.2.12.0/24     192.168.1.2     nolabel/16
       10.2.23.0/24     192.168.1.2     nolabel/17
       10.2.34.0/24     192.168.1.2     nolabel/18
       10.2.45.0/24     192.168.1.2     nolabel/imp-null
       10.2.255.1/32    192.168.1.2     nolabel/19
       10.2.255.2/32    192.168.1.2     nolabel/20
       10.2.255.3/32    192.168.1.2     nolabel/21
       10.2.255.4/32    192.168.1.2     nolabel/22
       10.2.255.5/32    192.168.1.2     nolabel/imp-null
    Note that while the routes are being received with MPLS labels, the router Y does not seem to allocate any local label bindings to these labels although all these routes are being further advertised to router Z via iBGP.
    On router Z, the results are also confusing. First of all, networks received from router Y are still learned with the original next-hop set to 192.168.1.2 instead of 10.1.255.5 (using send-label on router Y should imply next-hop-self):
    Z# show ip route bgp
         10.0.0.0/8 is variably subnetted, 18 subnets, 2 masks
    B       10.2.12.0/24 [200/4] via 192.168.1.2, 00:26:28
    B       10.2.23.0/24 [200/3] via 192.168.1.2, 00:26:28
    B       10.2.45.0/24 [200/0] via 192.168.1.2, 00:26:28
    B       10.2.34.0/24 [200/2] via 192.168.1.2, 00:26:28
    B       10.2.255.5/32 [200/0] via 192.168.1.2, 00:26:28
    B       10.2.255.4/32 [200/2] via 192.168.1.2, 00:26:28
    B       10.2.255.3/32 [200/3] via 192.168.1.2, 00:26:28
    B       10.2.255.2/32 [200/4] via 192.168.1.2, 00:26:28
    B       10.2.255.1/32 [200/5] via 192.168.1.2, 00:26:28
    Verifying the show ip bgp label on router Z shows another interesting behavior: although Y has claimed it has not allocated any labels itself, it has in fact advertised the eBGP routes to Z with the original labels as allocated by X (hence highlighted in the previous and current output):
    Z# show ip bgp labels
       Network          Next Hop      In label/Out label
       10.2.12.0/24     192.168.1.2     nolabel/16
       10.2.23.0/24     192.168.1.2     nolabel/17
       10.2.34.0/24     192.168.1.2     nolabel/18
       10.2.45.0/24     192.168.1.2     nolabel/imp-null
       10.2.255.1/32    192.168.1.2     nolabel/19
       10.2.255.2/32    192.168.1.2     nolabel/20
       10.2.255.3/32    192.168.1.2     nolabel/21
       10.2.255.4/32    192.168.1.2     nolabel/22
       10.2.255.5/32    192.168.1.2     nolabel/imp-null
    An ironic fact is that on router Y, the labels 16-22 are already allocated for different internal networks by LDP. If router Z uses the labels as advertised by router Y, this will cause the packets to be heavily misrouted from router Y to completely different destinations:
    Y# show mpls forwarding-table
    Local  Outgoing      Prefix            Bytes Label   Outgoing   Next Hop
    Label  Label or VC   or Tunnel Id      Switched      interface
    16     Pop Label     192.168.1.2/32    0             Fa0/0      192.168.1.2
    17     Pop Label     10.1.255.4/32     0             Fa0/1      10.1.45.4
    18     20            10.1.255.3/32     0             Fa0/1      10.1.45.4
    19     19            10.1.255.2/32     0             Fa0/1      10.1.45.4
    20     18            10.1.255.1/32     0             Fa0/1      10.1.45.4
    21     16            10.1.12.0/24      0             Fa0/1      10.1.45.4
    22     17            10.1.23.0/24      0             Fa0/1      10.1.45.4
    So, there are two suspicious facts about the behavior of router Y:
    It does not modify the next-hop attribute when advertising the eBGP routes along with MPLS labels via iBGP to another internal BGP neighbor.
    It does not allocate its own local MPLS label bindings, rather it simply re-advertises the labels as allocated by router Z, resulting in label value conflicts and misrepresentations
    An interesting fact is that after adding the command neighbor 10.1.255.1 next-hop-self to the router's Y configuration, the behavior becomes correct again:
    Y(config)# router bgp 1
    Y(config-router)# address-family ipv4
    Y(config-router-af)# neighbor 10.1.255.1 next-hop-self
    Y(config-router-af)# do show ip bgp label
       Network          Next Hop      In label/Out label
       10.2.12.0/24     192.168.1.2     24/16
       10.2.23.0/24     192.168.1.2     25/17
       10.2.34.0/24     192.168.1.2     31/18
       10.2.45.0/24     192.168.1.2     27/imp-null
       10.2.255.1/32    192.168.1.2     26/19
       10.2.255.2/32    192.168.1.2     28/20
       10.2.255.3/32    192.168.1.2     29/21
       10.2.255.4/32    192.168.1.2     30/22
       10.2.255.5/32    192.168.1.2     32/imp-null
    On Z:
    Z# show ip bgp labels
       Network          Next Hop      In label/Out label
       10.2.12.0/24     10.1.255.5      nolabel/24
       10.2.23.0/24     10.1.255.5      nolabel/25
       10.2.34.0/24     10.1.255.5      nolabel/31
       10.2.45.0/24     10.1.255.5      nolabel/27
       10.2.255.1/32    10.1.255.5      nolabel/26
       10.2.255.2/32    10.1.255.5      nolabel/28
       10.2.255.3/32    10.1.255.5      nolabel/29
       10.2.255.4/32    10.1.255.5      nolabel/30
       10.2.255.5/32    10.1.255.5      nolabel/32
    Router Y is a 2811 currently running 2800 Software (C2800NM-ADVIPSERVICESK9-M), Version 12.4(24)T6. I have originally came across this behavior with 12.4(24)T4. I have confirmed that this behavior is not present with ADVENTERPRISEK9-M 12.4(22)T, so if this is a bug, it must have been "added" in some intermediate versions.
    I currently do not have any option of testing newer IOSes from the 15.x series, as the router does not have the inordinate 512MB of RAM necessary for those IOS versions so I apologize for not testing this behavior on the most recent releases.
    Did anyone experience similar behavior? Is this really a bug? Will this be corrected in 12.4T train yet? Thank you for all suggestions!
    Best regards,
    Peter

    Hello Giuseppe,
    Thank you very much for your answer. I am not sure I understand it correctly - please let me reexplain my major point and let me ask you for your kind advice.
    Issue 1:
    All routers are configured with send-label, neither of them is configured with next-hop-self. Router Y receives labeled BGP routes from router X and the show ip bgp labels displays the following table:
    Y# show ip bgp labels
       Network          Next Hop      In label/Out label
       10.2.12.0/24     192.168.1.2     nolabel/16
       10.2.23.0/24     192.168.1.2     nolabel/17
       10.2.34.0/24     192.168.1.2     nolabel/18
       10.2.45.0/24     192.168.1.2     nolabel/imp-null
       10.2.255.1/32    192.168.1.2     nolabel/19
       10.2.255.2/32    192.168.1.2     nolabel/20
       10.2.255.3/32    192.168.1.2     nolabel/21
       10.2.255.4/32    192.168.1.2     nolabel/22
       10.2.255.5/32    192.168.1.2     nolabel/imp-null
    Note that while router Y knows remote bindings for these networks (the "Out label" column), it has not created any local label bindings to these networks (the "In label" column says nolabel to all networks). I can assume that this is done to prevent assigning local labels to BGP routes that may eventually be routed through a different ASBR and possibly misunderstood en route. In other words, the local label binding has a local significance only. If there is no guarantee the packets will go through Y (without the next-hop-self), local label bindings on Y should not be created nor advertised. Am I correct in this line of reasoning?
    Issue 2:
    With the same configuration, router Y has advertised the BGP routes to router Z, however, it has retained the same label bindings it has learned itself - i.e. Y has not created any local bindings itself, it just "forgot" to remove the label bindings when advertising the routes to router Z:
    Z# show ip bgp labels
       Network          Next Hop      In label/Out label
       10.2.12.0/24     192.168.1.2     nolabel/16
       10.2.23.0/24     192.168.1.2     nolabel/17
       10.2.34.0/24     192.168.1.2     nolabel/18
       10.2.45.0/24     192.168.1.2     nolabel/imp-null
       10.2.255.1/32    192.168.1.2     nolabel/19
       10.2.255.2/32    192.168.1.2     nolabel/20
       10.2.255.3/32    192.168.1.2     nolabel/21
       10.2.255.4/32    192.168.1.2     nolabel/22
       10.2.255.5/32    192.168.1.2     nolabel/imp-null
    Note that the outgoing labels on Z are exactly the same as with router Y. This is in my opinion a bug. Take, for example, the route towards 10.2.255.2. The bottom label will be 20, the upper label will be a label towards 192.168.1.2. In my particular topology, the PHP will pop this transport label correctly before the router Y, and Y will receive a packet labeled with label 20. However, on Y, the 20 is not a mapping assigned to the 10.255.255.2, as BGP has not created any local bindings itself, and instead, the label 20 corresponds to a totally different network somewhere inside the cloud between routers Y and Z, as evidenced by the following output on Y:
    Y# show mpls forwarding-table
    Local  Outgoing      Prefix            Bytes Label   Outgoing   Next Hop
    Label  Label or VC   or Tunnel Id      Switched      interface
    16     Pop Label     192.168.1.2/32    0             Fa0/0      192.168.1.2
    17     Pop Label     10.1.255.4/32     0             Fa0/1      10.1.45.4
    18     20            10.1.255.3/32     0             Fa0/1      10.1.45.4
    19     19            10.1.255.2/32     0             Fa0/1      10.1.45.4
    20     18            10.1.255.1/32     0             Fa0/1      10.1.45.4
    21     16            10.1.12.0/24      0             Fa0/1      10.1.45.4
    22     17            10.1.23.0/24      0             Fa0/1      10.1.45.4
    So the mere fact that the BGP on Y did not create local bindings is kind of understandable, however, the fact that it retained the remote label bindings as learned from X and advertised them without change to Z is, in my opinion, a grave bug. What is your opinion on this?
    Thank you very much!
    Best regards,
    Peter

  • How to change the frequency of a finite/continuous pulse train in the program?

    Hello!...
    I am trying to modify the Finite pulse train vi example to change the frequency with respect of a ratio (1:2) of the data of a spreadsheet file as they are read one by one.
    My aim is to get the pulse train to clock a stepper motor controller, in such way that the speed of the motor increases when the data of the spreadsheet increases and vice-versa.
    I think that if I want to get the clock to change its speed, I must change the frequency and if I want it to increase/decrease like the data in the spreadsheet, I must tell the frequency that the data is increasing or decreasing in value.
    Obviously the program must do it while it is running
    Can anyone see wh
    ere I have gone wrong and/or give any suggestions?
    I have attached my vi and the spreadsheet file.
    Thanks
    Tiano
    Attachments:
    My_VI.vi ‏99 KB
    wave.txt ‏18 KB

    Tiano,
    Try to build the pieces of the program separately. Get a VI running that reads the spreadsheet and reports the data in it sequentially in an indicator (forget about the pulse generation at this time). This indicator will be wired to the frequency input of the pulse generator VI.
    You have read the data and have a transposed array. Now you must learn to use the Index Array function in a For Loop to extract the data sequentially. You will wire the increment output [i] of the For Loop into Index Array to shift from one data point to the next.
    You have a For Loop with no constant wired to [N] to tell it how many times to run. If you use Array Size to extract the number of entries in the spreadsheet data, this can be the constan
    t that tells the For Loop how many times to run.
    You are using the Tab Control in a way I have never seen before (I don't think it will work this way either. Tab Control is for presenting and hiding controls, indicators, labels, etc. on the front panel, before running the VI. They are not used to control the program functionality itself. Typically you would use a Boolean to choose between 2 options for a Case Structure.
    You can also change the path constant which selects the spreadsheet file into a control. This would allow you to browse for any file you want and eleiminate the need for the Case Structure altogether.
    Mike

  • Flotaing Labels - How Do You Make Them With Premiere Pro?

    A recent video project i have arrived at has raised an interesting question:  is there any way to create a floating label that will rotate and move with the video within the Adobe Premiere Pro software?  What I'm looking for is basically a text box with an arrow pointing to the area of note that will move with the background video.
    Would this be available with Adobe After Effects or another effects bundle?  Or would it be simple to do using just the Premiere Pro interface?  I'm a brand new user, so I haven't made it through all the training and resources that are online yet, but I would greatly appreciate any help or insight that anyone could provide on this subject.

    This is most easily accomplished in After Effects using motion tracking. If you come over to the After Effects forum, we can help you with the details.

  • How to find database attribute names that correspond to page labels

    I've been tasked with creating one or more views to be used in creating reports. The users know data items by the labels on pages, not the database attribute names. So my dilemma is how to correlate the page labels to the database attributes.
    For example, there's a course details web page. It includes items labeled "Replacement Course", "Inherited Competency Update Setting" and "Attachments", among others.
    Focusing on "Inherited Competency Update Setting"... there's no database attribute called that. I've found COMPETENCY_UPDATE_LEVEL, but I don't know if that is it. And is an "inherited" one different than a non-inherited.
    I've googled about, and discovered that "Inherited Competency Update Setting" can be set by using a workflow named OTA_COMPETENCE_UPDATE_JSP_PRC and setting an attribute named HR_APPROVAL_REQ_FLAG. Further research has lead me to determine that HR_APPROVAL_REQ_FLAG is used only within the workflow system. I've found in SYS.ALL_SOURCE a package OTA_COMPETENCE_SS with a function that gets that attribute's value. It includes a query against WF_ACTIVITY_ATTR_VALUES which retrieves values of YES_DYNAMIC, APPROVAL, NO, YES or NOTIFYONLY. I've not found any code that uses the function.
    Using ALL_TAB_COLUMNS, I'd found COMPETENCY_UPDATE_LEVEL in OTA_OFFERINGS, which contains "APPROVAL" or null. So that may be what I seek, but I can't confirm it.
    I also have been unable to find the translation from "APPROVAL" to "Notification, Automatic Update after Approval" (assuming I'm correct and this is the field)
    I've found a Training Administration Technical Reference Manual for Release 11i, which contains information about the database, but I've found no corresponding document for Learning Management for 12.1 (Only installation and user guides).
    And this is many days' research to find one attribute. Which I'm not certain I've found.
    So, in this case in particular, or any case in general, how does one find the database name for an attribute, given the page label's text??
    Thank you
    Cornell

    Whoa, easier than I'd thought...
    When the page first shows up, there's the About This Page link, at the bottom, clicking it you get to the About Page.
    I noted two sections, Page Definition and Business Component References Details.
    I expanded Business Component References Details and found View Objects. There's a list of views used. I was dismayed that the views don't appear to be in the database. Of course, they're camelCased Java names of Java objects, not database names (although sometimes some of the camelCased tokens might correspond to parts of view names). They are, however, clickable and when clicked the definition shows up, and I was thinking that it would take a long while to find what I was seeking.
    But... Hit the Expand All link in Page Definition, do a find on page for the desired label, and there it is... a row with the label, view object name and attribute! Pay dirt!
    Then go to the Business Component References Details, find the View Object, click it, and there's the view :-) Find the attribute, then the table... easy peasy!
    Thank y'all again

  • How to validate when navigating on next page in a Train

    Dear All,
    Use Case:
    I have pages arranged in a Train.
    Supposed in 1 page, I have this code.
    <af:selectBooleanRadio text="Enter new transaction details"
       label="" id="sbr2"
       autoSubmit="true"
       value="#{pageFlowScope.myBean.option}"/>
    <af:panelFormLayout id="option" labelAlignment="start"
         rendered="#{pageFlowScope.myBean.option}">
         <af:inputText label="Transaction Date" id="it2"/>
         <af:inputText label="Transaction Option" id="it3"/>
         <af:inputText label="Confirmation Message" id="it7"/>
         <f:facet name="footer"/>
    </af:panelFormLayout>If the user selected the boolean radio, I will display the panelformlayout thru PPR.
    Now, if the panelformlayout is displayed, user should at least enter one data on at least one
    of the inputText. If not, a message is displayed when user navigates to the next page on the
    train.
    How to do this?
    I cannot put a required property on all the input text because not all are required and only at least one input text should be filled up.
    I wanted to fire up when user navigates the train button Previous or Next button.
    JDEV 11G PS3
    Thanks

    one solution is to build your own Next button in the train and check the condition before you navigate to the next train stop. to navigate to the next train stop in the train check check [url http://www.oracle.com/technetwork/developer-tools/adf/learnmore/82-programmatically-navigate-trains-396873.pdf]     How-to programmatically navigate ADF train models
    another solution is to set the required property for your input texts as
    <af:inputText label="Transaction Date" id="it2"/>
         <af:inputText label="Transaction Option" id="it1" required="boolean radio is selected and it2 eq null and it3 eq null ...... and it7 is null"/>
         <af:inputText label="Transaction Option" id="it2" required="boolean radio is selected and it1 eq null and it3 eq null ...... and it7 is null"/>
            <af:inputText label="Transaction Option" id="it3" required="boolean radio is selected and it1 eq null and it2 eq null ...... and it7 is null"/>
         <af:inputText label="Confirmation Message" id="it7" required"boolean radio is selected and it1 eq null and ...... it6 eq null"/>

  • How to set the text for commandNavigationItem in nodeStamp facet of train?

    When I use the af:train w/o ndeStamp facet, the train displays proeprly with text next to each nod, e.g.,
    <af:train id="train" var="node" value="#{controllerContext.currentViewPort.taskFlowContext.trainModel}" layout="vertical"/>
    but when I use a nodeStamp, then my text dissappears. e.g.,
    <af:train id="train" var="node"
    value="#{controllerContext.currentViewPort.taskFlowContext.trainModel}"
    layout="vertical">
    <f:facet name="nodeStamp">
    <af:commandNavigationItem text="#{node.text}" actionListener="#{pageFlowScope.createModelFromTables.onSelectTrainStop}"/>
    </f:facet>
    </af:train>
    Also, jDeveloper complains that it Reference "#{node.text}" not found. Likewise for #{node.readOnly}, etc. Note I also tried #{node.label} as described in the code example [adf:train|http://jdevadf.oracle.com/adf-richclient-demo/docs/tagdoc/af_train.html]
    I am using jDeveloper 11.1.1.5.0 Build JDEVADF_11.1.1.5.0_GENERIC_110409.0025.6013

    These links will helpful for you.
    http://jdevadf.oracle.com/adf-richclient-demo/docs/tagdoc/af_train.html
    http://download.oracle.com/docs/cd/E15523_01/apirefs.1111/e12419/tagdoc/af_train.html

Maybe you are looking for