Återger HTML Forms med CustomToolbars rendering-html-forms-with-customtoolbars
Exempel och exempel i det här dokumentet är bara för AEM Forms i JEE-miljö.
Återge HTML Forms med anpassade verktygsfält rendering-html-forms-with-custom-toolbars
Med Forms-tjänsten kan du anpassa ett verktygsfält som återges med ett HTML-formulär. Ett verktygsfält kan anpassas för att ändra utseendet genom att åsidosätta CSS-standardformat och lägga till dynamiskt beteende genom att åsidosätta Java-skript. Ett verktygsfält anpassas med hjälp av en XML-fil med namnet fscmenu.xml. Som standard hämtar Forms-tjänsten den här filen från en internt angiven URI-plats.
Du kan kopiera fscmenu.xml från den här platsen, ändra den så att den uppfyller dina krav och sedan placera den på en anpassad URI-plats. Använd sedan Forms Service API för att ange körningsalternativ som resulterar i att Forms-tjänsten använder fscmenu.xml-filen från den angivna platsen. Dessa åtgärder resulterar i att Forms-tjänsten återger ett HTML-formulär med ett anpassat verktygsfält.
Förutom filen fscmenu.xml behöver du även följande filer:
- fscmenu.js
- fscattachments.js
- fscmenu.css
- fscmenu-v.css
- fscmenu-ie.css
- fscdialog.css
fscJS är det Java-skript som associeras med varje nod. Det är nödvändigt att tillhandahålla en för div#fscmenu
nod och eventuellt för ul#fscmenuItem
noder. JS-filerna implementerar grundläggande verktygsfältsfunktioner och standardfilerna fungerar.
fscCSS är en formatmall som är kopplad till en viss nod. Formaten i CSS-filerna anger verktygsfältets utseende. fscVCSS är en formatmall för ett lodrätt verktygsfält som visas till vänster om det återgivna HTML-formuläret. fscIECSS är en formatmall som används för HTML-formulär som återges i Internet Explorer.
Kontrollera att det finns referenser till alla ovanstående filer i filen fscmenu.xml. I filen fscmenu.xml anger du URI-platser som ska peka på dessa filer så att Forms-tjänsten kan hitta dem. Som standard är de här filerna tillgängliga på URI-platser, med början med interna nyckelord FSWebRoot
eller ApplicationWebRoot
.
Om du vill anpassa verktygsfältet ersätter du nyckelorden med det externa nyckelordet FSToolBarURI
. Detta nyckelord representerar den URI som skickas till Forms-tjänsten vid körning (detta visas senare i detta avsnitt).
Du kan också ange absoluta platser för dessa JS- och CSS-filer, till exempel https://www.mycompany.com/scripts/misc/fscmenu.js. I sådana fall behöver du inte använda FSToolBarURI
nyckelord.
FSToolBarURI
nyckelord eller en absolut plats.Du kan hämta JS- och CSS-filerna genom att öppna adobe-forms-<appserver>.ear-fil. I den här filen öppnar du adobe-forms-res.war. Alla dessa filer finns i WAR-filen. Adobe-formulären<appserver>.ear-filen finns i AEM installationsmapp (C:\ är installationskatalogen). Du kan öppna Adobe-formulären-<appserver>Använd ett filextraheringsverktyg som WinRAR.
I följande XML-syntax visas ett exempel på filen fscmenu.xml.
<div id="fscmenu" fscJS="FSToolBarURI/scripts/fscmenu.js" fscCSS="FSToolBarURI/fscmenu.css" fscVCSS="FSToolBarURI/fscmenu-v.css" fscIECSS="FSToolBarURI/fscmenu-ie.css">
<ul class="fscmenuItem" id="Home">
<li>
<a href="#" fscTarget="_top" tabindex="1">Home</a>
</li>
</ul>
<ul class="fscmenuItem" id="Upload" fscJS="FSToolBarURI/scripts/fscattachments.js" fscCSS="FSToolBarURI/fscdialog.css">
<li>
<a tabindex="2">Upload Attachments</a>
<ul class="fscmenuPopup" id="fscUploadAttachments">
<li>
<a href="javascript:doUploadDialog();" tabindex="3">Add ...</a>
</li>
<li>
<a href="javascript:doDeleteDialog();" tabindex="4">Delete ...</a>
</li>
</ul>
</li>
</ul>
<ul class="fscmenuItem" id="Download">
<li>
<a tabindex="100">Download Attachments</a>
<ul class="fscmenuPopup">
<li>
<a tabindex="101">None available</a>
</li>
</ul>
</li>
</ul>
</div>
Följande objekt beskriver hur du kan anpassa ett verktygsfält:
- Ändra värdena för
fscJS
,fscCSS
,fscVCSS
,fscIECSS
attribut (i filen fscmenu.xml) som återspeglar de anpassade placeringarna för de refererade filerna med hjälp av en av metoderna som beskrivs i det här avsnittet (till exempelfscJS="FSToolBarURI/scripts/fscmenu.js"
). - Alla CSS- och JS-filer måste anges. Om ingen av filerna ändras anger du standardfilen på den anpassade platsen. Du kan hämta standardfilerna genom att öppna olika filer enligt beskrivningen i det här avsnittet.
- Det är tillåtet att ange en absolut referens (till exempel https://www.example.com/scripts/custom-vertical-fscmenu.css) för alla filer.
- JS- och CSS-filerna som
div#fscmenu
nod kräver mycket för verktygsfältets funktion. Enskildul#fscmenuItem
noder kan ha stöd för JS- eller CSS-filer.
Ändra det lokala värdet
När du anpassar ett verktygsfält kan du ändra det nationella värdet för verktygsfältet. Det innebär att du kan visa det på ett annat språk. I följande bild visas ett anpassat verktygsfält på franska.
Om du vill ändra språkvärdet för ett verktygsfält kontrollerar du att filen fscmenu.xml innehåller det språk som du vill visa. Följande XML-syntax visar filen fscmenu.xml som används för att visa ett franskt verktygsfält.
<div id="fscmenu" fscJS="FSToolBarURI/scripts/fscmenu.js" fscCSS="FSToolBarURI/fscmenu.css" fscVCSS="FSToolBarURI/fscmenu-v.css" fscIECSS="FSToolBarURI/fscmenu-ie.css">
<ul class="fscmenuItem" id="Home">
<li>
<a href="#" fscTarget="_top" tabindex="1">Accueil</a>
</li>
</ul>
<ul class="fscmenuItem" id="Upload" fscJS="FSToolBarURI/scripts/fscattachments.js" fscCSS="FSToolBarURI/fscdialog.css">
<li>
<a tabindex="2">Télécharger les pièces jointes</a>
<ul class="fscmenuPopup" id="fscUploadAttachments">
<li>
<a href="javascript:doUploadDialog();" tabindex="3">Ajouter...</a>
</li>
<li>
<a href="javascript:doDeleteDialog();" tabindex="4">Supprimer...</a>
</li>
</ul>
</li>
</ul>
<ul class="fscmenuItem" id="Download">
<li>
<a tabindex="100">Télécharger les pièces jointes</a>
<ul class="fscmenuPopup">
<li>
<a tabindex="101">Aucune disponible</a>
</li>
</ul>
</li>
</ul>
</div>
Ange också ett giltigt språkvärde genom att anropa HTMLRenderSpec
objektets setLocale
och skickar ett strängvärde som anger språkvärdet. Skicka till exempel fr_FR
för att ange franska. Forms-tjänsten levereras med lokaliserade verktygsfält.
Mer information om tjänsten Forms finns i Tjänstreferens för AEM Forms.
Sammanfattning av steg summary-of-steps
Så här återger du ett HTML-formulär som innehåller ett anpassat verktygsfält:
- Inkludera projektfiler.
- Skapa ett Forms Java API-objekt.
- Referera till en anpassad fscmenu XML-fil.
- Återge ett HTML-formulär.
- Skriv formulärdataströmmen till klientens webbläsare.
Inkludera projektfiler
Inkludera nödvändiga filer i utvecklingsprojektet. Om du skapar ett klientprogram med Java, inkluderar du de JAR-filer som behövs. Om du använder webbtjänster inkluderar du proxyfilerna.
Skapa ett Forms Java API-objekt
Innan du programmässigt kan utföra en åtgärd som stöds av Forms måste du skapa ett Forms-klientobjekt.
Referera en anpassad fscmenu XML-fil
Om du vill återge ett HTML-formulär som innehåller ett anpassat verktygsfält hänvisar du till en fscmenu XML-fil som beskriver verktygsfältet. (I det här avsnittet finns två exempel på en XML-fil för fscmenu.) Se även till att fscmenu.xml-filen anger platserna för alla refererade filer korrekt. Se till att alla filer refereras av någon av FSToolBarURI
nyckelord eller deras absoluta platser.
Återge ett HTML-formulär
Om du vill återge ett HTML-formulär anger du en formulärdesign som har skapats i Designer och sparats som en XDP-fil. Markera även en omformningstyp för HTML. Du kan till exempel ange HTML-omformningstypen som återger ett dynamiskt HTML för Internet Explorer 5.0 eller senare.
Återgivning av ett HTML-formulär kräver också värden, t.ex. URI-värden för återgivning av andra formulärtyper.
Skriv formulärdataströmmen till klientens webbläsare
När Forms-tjänsten återger ett HTML-formulär returneras ett formulärdataflöde som du måste skriva till klientens webbläsare för att göra HTML-formuläret synligt för användarna.
Se även
Återge ett HTML-formulär med ett anpassat verktygsfält med Java API
Återge ett HTML-formulär med ett anpassat verktygsfält med hjälp av webbtjänstens API
Inkludera AEM Forms Java-biblioteksfiler
Snabbstart för Forms Service API
Skapa webbprogram som återger Forms
Återge ett HTML-formulär med ett anpassat verktygsfält med Java API render-an-html-form-with-a-custom-toolbar-using-the-java-api
Återge ett HTML-formulär som innehåller ett anpassat verktygsfält med hjälp av Forms Service API (Java):
-
Inkludera projektfiler
Inkludera JAR-klientfiler, t.ex. adobe-forms-client.jar, i Java-projektets klassökväg.
-
Skapa ett Forms Java API-objekt
- Skapa en
ServiceClientFactory
objekt som innehåller anslutningsegenskaper. - Skapa en
FormsServiceClient
genom att använda konstruktorn och skickaServiceClientFactory
-objekt.
- Skapa en
-
Referera en anpassad fscmenu XML-fil
- Skapa en
HTMLRenderSpec
genom att använda dess konstruktor. - Om du vill återge ett HTML-formulär med ett verktygsfält anropar du
HTMLRenderSpec
objektetssetHTMLToolbar
metod och skicka enHTMLToolbar
enum-värde. Om du till exempel vill visa ett lodrätt HTML-verktygsfält skickar duHTMLToolbar.Vertical
. - Ange platsen för fscmenu XML-filen genom att anropa
HTMLRenderSpec
objektetssetToolbarURI
och skickar ett strängvärde som anger XML-filens URI-plats. - Om det är tillämpligt anger du språkvärdet genom att anropa
HTMLRenderSpec
objektetssetLocale
och skickar ett strängvärde som anger språkvärdet. Standardvärdet är engelska.
note note NOTE Snabbstart som är associerad med det här avsnittet anger det här värdet till fr_FR
. - Skapa en
-
Återge ett HTML-formulär
Anropa
FormsServiceClient
objektetsrenderHTMLForm
och skicka följande värden:- Ett strängvärde som anger formulärdesignens namn, inklusive filnamnstillägget. Om du refererar till en formulärdesign som ingår i ett Forms-program måste du ange den fullständiga sökvägen, till exempel
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
. - A
TransformTo
uppräkningsvärde som anger inställningstypen HTML. Om du till exempel vill återge ett HTML-formulär som är kompatibelt med dynamiskt HTML för Internet Explorer 5.0 eller senare anger duTransformTo.MSDHTML
. - A
com.adobe.idp.Document
objekt som innehåller data som ska sammanfogas med formuläret. Om du inte vill sammanfoga data skickar du en tomcom.adobe.idp.Document
-objekt. - The
HTMLRenderSpec
objekt som lagrar körningsalternativ för HTML. - Ett strängvärde som anger
HTTP_USER_AGENT
rubrikvärde, somMozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
. - A
URLSpec
objekt som lagrar URI-värden som krävs för att återge ett HTML-formulär. - A
java.util.HashMap
objekt som lagrar bifogade filer. Det här är en valfri parameter som du kan angenull
om du inte vill bifoga filer till formuläret.
The
renderHTMLForm
returnerar enFormsResult
objekt som innehåller en formulärdataström som måste skrivas till klientens webbläsare. - Ett strängvärde som anger formulärdesignens namn, inklusive filnamnstillägget. Om du refererar till en formulärdesign som ingår i ett Forms-program måste du ange den fullständiga sökvägen, till exempel
-
Skriv formulärdataströmmen till klientens webbläsare
- Skapa en
com.adobe.idp.Document
genom att anropaFormsResult
objekt"sgetOutputContent
-metod. - Hämta innehållstypen för
com.adobe.idp.Document
genom att anropa dessgetContentType
-metod. - Ange
javax.servlet.http.HttpServletResponse
objektets innehållstyp genom att anropa desssetContentType
metoden och skicka innehållstypen förcom.adobe.idp.Document
-objekt. - Skapa en
javax.servlet.ServletOutputStream
som används för att skriva formulärdataströmmen till klientens webbläsare genom att anropajavax.servlet.http.HttpServletResponse
objektetsgetOutputStream
-metod. - Skapa en
java.io.InputStream
genom att anropacom.adobe.idp.Document
objektetsgetInputStream
-metod. - Skapa en bytearray och fylla den med formulärdataströmmen genom att anropa
InputStream
objektetsread
och skicka bytearrayen som ett argument. - Anropa
javax.servlet.ServletOutputStream
objektetswrite
metod för att skicka formulärdataströmmen till klientens webbläsare. Skicka bytearrayen tillwrite
-metod.
- Skapa en
Se även
Snabbstart (SOAP-läge): Återge ett HTML-formulär med ett anpassat verktygsfält med Java API
Inkludera AEM Forms Java-biblioteksfiler
Återge ett HTML-formulär med ett anpassat verktygsfält med hjälp av webbtjänstens API rendering-an-html-form-with-a-custom-toolbar-using-the-web-service-api
Återge ett HTML-formulär som innehåller ett anpassat verktygsfält med hjälp av Forms tjänst-API (webbtjänst):
-
Inkludera projektfiler
- Skapa Java-proxyklasser som använder Forms tjänst-WSDL.
- Inkludera Java-proxyklasserna i klassökvägen.
-
Skapa ett Forms Java API-objekt
Skapa en
FormsService
och ange autentiseringsvärden. -
Referera en anpassad fscmenu XML-fil
- Skapa en
HTMLRenderSpec
genom att använda dess konstruktor. - Om du vill återge ett HTML-formulär med ett verktygsfält anropar du
HTMLRenderSpec
objektetssetHTMLToolbar
metod och skicka enHTMLToolbar
enum-värde. Om du till exempel vill visa ett lodrätt HTML-verktygsfält skickar duHTMLToolbar.Vertical
. - Ange platsen för fscmenu XML-filen genom att anropa
HTMLRenderSpec
objektetssetToolbarURI
och skickar ett strängvärde som anger XML-filens URI-plats. - Om det är tillämpligt anger du språkvärdet genom att anropa
HTMLRenderSpec
objektetssetLocale
och skickar ett strängvärde som anger språkvärdet. Standardvärdet är engelska.
note note NOTE Snabbstart som är associerad med det här avsnittet anger det här värdet till fr_FR
. - Skapa en
-
Återge ett HTML-formulär
Anropa
FormsService
objektetsrenderHTMLForm
och skicka följande värden:- Ett strängvärde som anger formulärdesignens namn, inklusive filnamnstillägget. Om du refererar till en formulärdesign som ingår i ett Forms-program måste du ange den fullständiga sökvägen, till exempel
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
. - A
TransformTo
uppräkningsvärde som anger inställningstypen HTML. Om du till exempel vill återge ett HTML-formulär som är kompatibelt med dynamiskt HTML för Internet Explorer 5.0 eller senare anger duTransformTo.MSDHTML
. - A
BLOB
objekt som innehåller data som ska sammanfogas med formuläret. Om du inte vill sammanfoga data skickar dunull
. - The
HTMLRenderSpec
objekt som lagrar körningsalternativ för HTML. - Ett strängvärde som anger
HTTP_USER_AGENT
rubrikvärde, somMozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322
). Du kan skicka en tom sträng om du inte vill ange det här värdet. - A
URLSpec
objekt som lagrar URI-värden som krävs för att återge ett HTML-formulär. - A
java.util.HashMap
objekt som lagrar bifogade filer. Den här parametern är valfri och du kan angenull
om du inte tänker bifoga filer till formuläret. - En tom
com.adobe.idp.services.holders.BLOBHolder
objekt som fylls i avrenderHTMLForm
-metod. Det här parametervärdet lagrar det återgivna formuläret. - En tom
com.adobe.idp.services.holders.BLOBHolder
objekt som fylls i avrenderHTMLForm
-metod. Den här parametern lagrar XML-utdata. - En tom
javax.xml.rpc.holders.LongHolder
objekt som fylls i avrenderHTMLForm
-metod. Det här argumentet lagrar antalet sidor i formuläret. - En tom
javax.xml.rpc.holders.StringHolder
objekt som fylls i avrenderHTMLForm
-metod. Det här argumentet lagrar språkets värde. - En tom
javax.xml.rpc.holders.StringHolder
objekt som fylls i avrenderHTMLForm
-metod. Det här argumentet lagrar återgivningsvärdet som används för HTML. - En tom
com.adobe.idp.services.holders.FormsResultHolder
objekt som innehåller resultatet av den här åtgärden.
The
renderHTMLForm
metoden fyller icom.adobe.idp.services.holders.FormsResultHolder
objekt som skickas som det sista argumentvärdet med en formulärdataström som måste skrivas till klientens webbläsare. - Ett strängvärde som anger formulärdesignens namn, inklusive filnamnstillägget. Om du refererar till en formulärdesign som ingår i ett Forms-program måste du ange den fullständiga sökvägen, till exempel
-
Skriv formulärdataströmmen till klientens webbläsare
- Skapa en
FormResult
genom att hämta värdet förcom.adobe.idp.services.holders.FormsResultHolder
objektetsvalue
datamedlem. - Skapa en
BLOB
objekt som innehåller formulärdata genom att anropaFormsResult
objektetsgetOutputContent
-metod. - Hämta innehållstypen för
BLOB
genom att anropa dessgetContentType
-metod. - Ange
javax.servlet.http.HttpServletResponse
objektets innehållstyp genom att anropa desssetContentType
metoden och skicka innehållstypen förBLOB
-objekt. - Skapa en
javax.servlet.ServletOutputStream
som används för att skriva formulärdataströmmen till klientens webbläsare genom att anropajavax.servlet.http.HttpServletResponse
objektetsgetOutputStream
-metod. - Skapa en bytearray och fylla i den genom att anropa
BLOB
objektetsgetBinaryData
-metod. Den här aktiviteten tilldelar innehållet iFormsResult
till bytearrayen. - Anropa
javax.servlet.http.HttpServletResponse
objektetswrite
metod för att skicka formulärdataströmmen till klientens webbläsare. Skicka bytearrayen tillwrite
-metod.
- Skapa en
Se även
Anropa AEM Forms med Base64-kodning