2016-06-08 9 views
0

Ich versuche, Parameter von meinem Eingabetextsteuerelement an die aufgerufene Xquery zu übergeben, indem Sie sie als Parameter in URL hinzufügen. Ich habe versucht, es auf viele Arten zu tun - immer ohne Erfolg. Kannst du es dir ansehen und mir sagen, was ich falsch mache?Hinzufügen von Parametern von Eingabesteuerelementen zu URL in Übermittlungsaktion

xquery version "3.0"; 

declare option exist:serialize "method=xhtml media-type=application/xhtml+xml indent=yes"; 

import module namespace xmldb="http://exist-db.org/xquery/xmldb"; 

declare variable $collection as xs:string := '/db/junitReports'; 

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:bf="http://betterform.sourceforge.net/xforms" xmlns:xf="http://www.w3.org/2002/xforms" bf:toaster-position="tl-down"> 
    <head> 
     <title>IB interfaces regression testing report</title> 
     <meta name="author" content="test"/> 
     <meta name="author" content="test"/> 
     <meta name="description" content="IB interfaces regression testing report"/> 
     <link rel="stylesheet" type="text/css" href="styles/demo.css"/> 

     <!-- INPUT CONTROLS --> 
     <xf:model> 
      <xf:instance id="default"> 
       <data xmlns=""> 
        <InterfaceName constraint="true" readonly="false" required="false" relevant="true"> 
        </InterfaceName> 
        <trigger1 constraint="true" readonly="false" required="false" relevant="true"> 
        </trigger1> 
       </data> 
      </xf:instance> 

      <xf:instance id="table" xmlns=""> 
       <data> 
       </data> 
      </xf:instance> 

      <xf:bind nodeset="InterfaceName" type="string"> 
      </xf:bind> 

      <xf:submission id="showTable" 
         method="post" 
         action="{concat('/exist/rest/db/xquery/returnTable.xq?interface=',InterfaceName)}" 
         replace="instance" 
         ref="instance('table')" 
         instance="table"> 
      </xf:submission> 
     </xf:model> 
    </head> 


    <body class="soria" style="margin:30px;"> 
     <div class="Headline">IB test report</div> 
     <div class="description"> 
      <p>You can restrict report output:</p> 
     </div>  
     <p>2. By typing in particular interface name</p> 
     <div class="Interface"> 
      <xf:input id="InterfaceName" ref="InterfaceName" incremental="false"> 
       <xf:label></xf:label> 
       <xf:hint>(S|R)xxxxxYYYZZZ</xf:hint> 
       <xf:help>Enter interface name</xf:help> 
       <xf:alert>Enter interface name</xf:alert> 
      </xf:input> 
     </div> 
     <br/> 
     <div> 
      <xf:trigger id="trigger1" ref="trigger1" incremental="true"> 
       <xf:label>Filter output</xf:label> 
       <xf:hint>a Hint for this control</xf:hint> 
       <xf:help>help for trigger1</xf:help> 
       <xf:action ev:event="DOMActivate"> 
        <xf:send submission="showTable"/> 
       </xf:action> 
      </xf:trigger> 
     </div> 


     <div> 
      <table border="1"> 
       <thead> 
        <tr> 
         <th>Inteface Name</th> 
         <th>Test Date</th> 
         <th>Test Result</th> 
         <th>Report Link</th> 
        </tr> 
       </thead> 
       <tbody xf:repeat-nodeset="instance('table')//result"> 
        <tr> 
         <td> 
          <xf:output ref="interfaceName"></xf:output> 
         </td> 
         <td> 
          <xf:output ref="reportDate"></xf:output> 
         </td> 
         <td> 
          <xf:output ref="testResult"></xf:output> 
         </td> 
         <td> 
          <li> 
           <xf:output ref="fileLink"></xf:output> 
          </li> 
         </td> 
        </tr> 
       </tbody> 
      </table> 
     </div> 
     <label>{InterfaceName}</label> 
    </body> 
</html> 

Meine uri bleibt ohne Parameter:

"resource-uri":"http://localhost:8080/exist/rest/db/xquery/returnTable.xq?interface=" 
+0

Ich habe versucht, diese stattdessen in Unterwerfung unter Verwendung von des Aktionsattributs: . Aber es funktioniert immer noch nicht und ich bekomme das gleiche URI. – user6419217

Antwort

0

Der richtige Weg, es zu tun war action-Attribut mit diesem Element in Vorlage zu ersetzen:

<xf:resource value="concat('/exist/rest/db/xquery/returnTable.xq?interface=',instance('defaultInstance')//InterfaceName,'&amp;','date=',instance('defaultInstance')//CalendarDate)"/> 
Verwandte Themen