HTML Forms renderen met CustomToolbars rendering-html-forms-with-customtoolbars
HTML Forms renderen met aangepaste werkbalken rendering-html-forms-with-custom-toolbars
Met de Forms-service kunt u een werkbalk aanpassen die wordt weergegeven met een HTML-formulier. Een werkbalk kan worden aangepast om de weergave te wijzigen door standaard CSS-stijlen te overschrijven en dynamisch gedrag toe te voegen door Java-scripts te overschrijven. Een werkbalk wordt aangepast met een XML-bestand met de naam fscmenu.xml. Standaard haalt de Forms-service dit bestand op van een intern opgegeven URI-locatie.
U kunt fscmenu.xml van deze plaats kopiëren, het wijzigen om aan uw vereisten te voldoen, en dan het in een plaats van douaneURI plaatsen. Vervolgens stelt u met de Forms Service API uitvoeringsopties in die resulteren in de Forms-service met behulp van het bestand fscmenu.xml van de opgegeven locatie. Deze acties resulteren in de Forms-service die een HTML-formulier met een aangepaste werkbalk weergeeft.
Naast het bestand fscmenu.xml moet u ook de volgende bestanden ophalen:
- fscmenu.js
- fscattachments.js
- fscmenu.css
- fscmenu-v.css
- fscmenu-ie.css
- fscdialog.css
fscJS is het Java-script dat aan elk knooppunt is gekoppeld. Er moet een div#fscmenu
knooppunt en optioneel voor ul#fscmenuItem
knooppunten. De JS-bestanden implementeren de kernfuncties van de werkbalk en de standaardbestanden werken.
fscCSS is een stijlpagina die aan een bepaalde knoop wordt geassocieerd. De stijlen in de CSS-bestanden geven de werkbalkweergave aan. fscVCSS Dit is een stijlpagina voor een verticale werkbalk, die links van het weergegeven HTML formulier wordt weergegeven. fscIECSS is een stijlpagina die wordt gebruikt voor HTML-formulieren die worden weergegeven in Internet Explorer.
Controleer of naar alle bovenstaande bestanden wordt verwezen in het bestand fscmenu.xml. Dat wil zeggen dat u in het bestand fscmenu.xml URI-locaties opgeeft die naar deze bestanden verwijzen, zodat de Forms-service ze kan vinden. Deze bestanden zijn standaard beschikbaar op URI-locaties die beginnen met interne trefwoorden FSWebRoot
of ApplicationWebRoot
.
Als u de werkbalk wilt aanpassen, vervangt u de trefwoorden door het externe trefwoord te gebruiken FSToolBarURI
. Dit sleutelwoord vertegenwoordigt URI die aan de dienst van Forms in runtime wordt overgegaan (deze benadering wordt getoond later in deze sectie).
U kunt ook de absolute locaties van deze JS- en CSS-bestanden opgeven, zoals https://www.mycompany.com/scripts/misc/fscmenu.js. In deze situatie hoeft u de FSToolBarURI
trefwoord.
FSToolBarURI
trefwoord of een absolute locatie.U kunt de JS- en CSS-bestanden verkrijgen door de adobe-forms te openen<appserver>.ear-bestand. Open het bestand adobe-forms-res.war in dit bestand. Al deze bestanden bevinden zich in het WAR-bestand. De adobe-formulieren<appserver>Het .ear-bestand bevindt zich in de installatiemap voor AEM formulieren (C:\ is the installation directory). U kunt de adobe-formulieren openen<appserver>.ear die een hulpmiddel van de dossierextractie zoals WinRAR gebruikt.
De volgende XML-syntaxis toont een voorbeeld van het bestand 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>
De volgende items beschrijven hoe u een werkbalk kunt aanpassen:
- De waarden wijzigen van
fscJS
,fscCSS
,fscVCSS
,fscIECSS
attributen (in het fscmenu.xml- dossier) om op de douaneplaatsen van de referenced dossiers door één van de methodes te wijzen die in deze sectie worden beschreven (bijvoorbeeldfscJS="FSToolBarURI/scripts/fscmenu.js"
). - Alle CSS- en JS-bestanden moeten worden opgegeven. Als geen van de bestanden wordt gewijzigd, geeft u de standaardmap op de aangepaste locatie op. U kunt de standaardbestanden verkrijgen door verschillende bestanden te openen, zoals in deze sectie wordt beschreven.
- Een absolute verwijzing (bijvoorbeeld https://www.example.com/scripts/custom-vertical-fscmenu.css) voor elk bestand is toegestaan.
- De JS- en CSS-bestanden die de
div#fscmenu
knooppunt is essentieel voor werkbalkfunctionaliteit. Individueelul#fscmenuItem
knooppunten kunnen al dan niet ondersteunende JS- of CSS-bestanden hebben.
De lokale waarde wijzigen
Als onderdeel van het aanpassen van een werkbalk kunt u de waarde voor de landinstelling van de werkbalk wijzigen. Dat wil zeggen dat u het in een andere taal kunt weergeven. In de volgende afbeelding ziet u een aangepaste werkbalk die in het Frans wordt weergegeven.
Als u de landinstellingswaarde van een werkbalk wilt wijzigen, moet u ervoor zorgen dat het bestand fscmenu.xml de taal bevat die u wilt weergeven. De volgende syntaxis van XML toont het fscmenu.xml- dossier dat wordt gebruikt om een Franse toolbar te tonen.
<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>
Geef ook een geldige waarde voor de landinstelling op door het dialoogvenster HTMLRenderSpec
object setLocale
en het doorgeven van een tekenreekswaarde die de waarde van de landinstelling opgeeft. Geef bijvoorbeeld fr_FR
om Frans aan te geven. De Forms-service wordt geleverd met gelokaliseerde werkbalken.
Ga voor meer informatie over de Forms-service naar Services Reference for AEM Forms.
Overzicht van de stappen summary-of-steps
Voer de volgende taken uit om een HTML-formulier te genereren dat een aangepaste werkbalk bevat:
- Inclusief projectbestanden.
- Maak een Forms Java API-object.
- Verwijs naar een aangepast fsmenu-XML-bestand.
- Een HTML-formulier weergeven.
- Schrijf de gegevensstroom van het formulier naar de webbrowser van de client.
Projectbestanden opnemen
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, neemt u de proxybestanden op.
Een Forms Java API-object maken
Voordat u via programmacode een bewerking kunt uitvoeren die door de Forms-service wordt ondersteund, moet u een Forms-clientobject maken.
Verwijzen naar een aangepast XML-bestand met een fsmenu
Als u een HTML-formulier wilt weergeven dat een aangepaste werkbalk bevat, verwijst u naar een XML-bestand met fsmenu's dat de werkbalk beschrijft. (Deze sectie bevat twee voorbeelden van een fsmenu-XML-bestand.) Zorg er ook voor dat het bestand fscmenu.xml de locaties van alle bestanden waarnaar wordt verwezen correct opgeeft. Zoals eerder vermeld in deze sectie, moet u ervoor zorgen dat naar alle bestanden wordt verwezen door de FSToolBarURI
sleutelwoord of hun absolute plaatsen.
Een HTML-formulier renderen
Als u een HTML-formulier wilt genereren, geeft u een formulierontwerp op dat in Designer is gemaakt en als XDP-bestand is opgeslagen. Selecteer ook een transformatietype HTML. U kunt bijvoorbeeld het transformatietype HTML opgeven waarmee een dynamische HTML wordt weergegeven voor Internet Explorer 5.0 of hoger.
Voor het weergeven van een HTML-formulier zijn ook waarden nodig, zoals URI-waarden, voor het weergeven van andere formuliertypen.
De formuliergegevensstroom naar de webbrowser van de client schrijven
Wanneer de Forms-service een HTML-formulier weergeeft, wordt een formuliergegevensstroom geretourneerd die u naar de webbrowser van de client moet schrijven om het HTML-formulier zichtbaar te maken voor gebruikers.
Zie ook
Een HTML-formulier met een aangepaste werkbalk weergeven met de Java API
Een HTML-formulier met een aangepaste werkbalk weergeven met de webservice-API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Interactieve PDF forms renderen
Webtoepassingen maken die Forms renderen
Een HTML-formulier met een aangepaste werkbalk weergeven met de Java API render-an-html-form-with-a-custom-toolbar-using-the-java-api
Een HTML-formulier met een aangepaste werkbalk weergeven met de Forms Service API (Java):
-
Projectbestanden opnemen
Neem client-JAR-bestanden, zoals adobe-forms-client.jar, op in het klassenpad van uw Java-project.
-
Een Forms Java API-object maken
- Een
ServiceClientFactory
object dat verbindingseigenschappen bevat. - Een
FormsServiceClient
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object.
- Een
-
Verwijzen naar een aangepast XML-bestand met een fsmenu
- Een
HTMLRenderSpec
object met behulp van de constructor. - Als u een HTML-formulier wilt weergeven met een werkbalk, roept u de opdracht
HTMLRenderSpec
objectsetHTMLToolbar
methode en eenHTMLToolbar
enum value. Als u bijvoorbeeld een verticale werkbalk HTML wilt weergeven, geeft u doorHTMLToolbar.Vertical
. - Geef de locatie van het fsmenu-XML-bestand op door het
HTMLRenderSpec
objectsetToolbarURI
methode en het overgaan van een koordwaarde die de plaats van URI van het dossier van XML specificeert. - Stel, indien van toepassing, de waarde van de landinstelling in door de
HTMLRenderSpec
objectsetLocale
en het doorgeven van een tekenreekswaarde die de waarde van de landinstelling opgeeft. De standaardwaarde is Engels.
note note NOTE Met de snelstarthandleidingen die aan deze sectie zijn gekoppeld, wordt deze waarde ingesteld op fr_FR
. - Een
-
Een HTML-formulier renderen
De
FormsServiceClient
objectrenderHTMLForm
en geeft de volgende waarden door:- Een tekenreekswaarde die de naam van het formulierontwerp opgeeft, inclusief de bestandsnaamextensie. Als u naar een formulierontwerp verwijst dat deel uitmaakt van een Forms-toepassing, moet u het volledige pad opgeven, zoals
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
. - A
TransformTo
Enum value that specifies the HTML preferences type. Als u bijvoorbeeld een HTML-formulier wilt genereren dat compatibel is met dynamic HTML voor Internet Explorer 5.0 of hoger, geeft uTransformTo.MSDHTML
. - A
com.adobe.idp.Document
object dat gegevens bevat die met het formulier moeten worden samengevoegd. Als u geen gegevens wilt samenvoegen, geeft u een lege waarde doorcom.adobe.idp.Document
object. - De
HTMLRenderSpec
-object waarin HTML-runtime-opties zijn opgeslagen. - Een tekenreekswaarde die de
HTTP_USER_AGENT
koptekstwaarde, zoalsMozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
. - A
URLSpec
object dat URI-waarden opslaat die vereist zijn om een HTML-formulier te genereren. - A
java.util.HashMap
object waarin bestandsbijlagen zijn opgeslagen. Dit is een optionele parameter en u kuntnull
als u geen bestanden aan het formulier wilt koppelen.
De
renderHTMLForm
methode retourneert eenFormsResult
object dat een formuliergegevensstroom bevat die naar de webbrowser van de client moet worden geschreven. - Een tekenreekswaarde die de naam van het formulierontwerp opgeeft, inclusief de bestandsnaamextensie. Als u naar een formulierontwerp verwijst dat deel uitmaakt van een Forms-toepassing, moet u het volledige pad opgeven, zoals
-
De formuliergegevensstroom naar de webbrowser van de client schrijven
- Een
com.adobe.idp.Document
door het object aan te roepenFormsResult
object 'sgetOutputContent
methode. - Hiermee wordt het inhoudstype van het dialoogvenster
com.adobe.idp.Document
object aanroepengetContentType
methode. - Stel de
javax.servlet.http.HttpServletResponse
inhoudstype van object aanroepensetContentType
en geeft u het inhoudstype van het dialoogvenster doorcom.adobe.idp.Document
object. - Een
javax.servlet.ServletOutputStream
object dat wordt gebruikt om de formuliergegevensstroom naar de webbrowser van de client te schrijven door het aanroepen van dejavax.servlet.http.HttpServletResponse
objectgetOutputStream
methode. - Een
java.io.InputStream
door het object aan te roepencom.adobe.idp.Document
objectgetInputStream
methode. - Maak een bytearray en vul deze met de formuliergegevensstroom door de
InputStream
objectread
en de bytearray doorgeven als een argument. - De
javax.servlet.ServletOutputStream
objectwrite
methode om de formuliergegevensstroom naar de webbrowser van de client te verzenden. Geef de bytearray door aan dewrite
methode.
- Een
Zie ook
Snel starten (SOAP-modus): Een HTML-formulier weergeven met een aangepaste werkbalk met de Java API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Een HTML-formulier met een aangepaste werkbalk weergeven met de webservice-API rendering-an-html-form-with-a-custom-toolbar-using-the-web-service-api
Een HTML-formulier met een aangepaste werkbalk weergeven met de Forms Service API (webservice):
-
Projectbestanden opnemen
- Maak Java-proxyklassen die gebruikmaken van de Forms-service WSDL.
- Neem de Java-proxyklassen op in het klassenpad.
-
Een Forms Java API-object maken
Een
FormsService
-object en stel verificatiewaarden in. -
Verwijzen naar een aangepast XML-bestand met een fsmenu
- Een
HTMLRenderSpec
object met behulp van de constructor. - Als u een HTML-formulier wilt weergeven met een werkbalk, roept u de opdracht
HTMLRenderSpec
objectsetHTMLToolbar
methode en eenHTMLToolbar
enum value. Als u bijvoorbeeld een verticale werkbalk HTML wilt weergeven, geeft u doorHTMLToolbar.Vertical
. - Geef de locatie van het fsmenu-XML-bestand op door het
HTMLRenderSpec
objectsetToolbarURI
methode en het overgaan van een koordwaarde die de plaats van URI van het dossier van XML specificeert. - Stel, indien van toepassing, de waarde van de landinstelling in door de
HTMLRenderSpec
objectsetLocale
en het doorgeven van een tekenreekswaarde die de waarde van de landinstelling opgeeft. De standaardwaarde is Engels.
note note NOTE Met de snelstarthandleidingen die aan deze sectie zijn gekoppeld, wordt deze waarde ingesteld op fr_FR
. - Een
-
Een HTML-formulier renderen
De
FormsService
objectrenderHTMLForm
en geeft de volgende waarden door:- Een tekenreekswaarde die de naam van het formulierontwerp opgeeft, inclusief de bestandsnaamextensie. Als u naar een formulierontwerp verwijst dat deel uitmaakt van een Forms-toepassing, moet u het volledige pad opgeven, zoals
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
. - A
TransformTo
Enum value that specifies the HTML preferences type. Als u bijvoorbeeld een HTML-formulier wilt genereren dat compatibel is met dynamic HTML voor Internet Explorer 5.0 of hoger, geeft uTransformTo.MSDHTML
. - A
BLOB
object dat gegevens bevat die met het formulier moeten worden samengevoegd. Als u geen gegevens wilt samenvoegen, geeft u doornull
. - De
HTMLRenderSpec
-object waarin HTML-runtime-opties zijn opgeslagen. - Een tekenreekswaarde die de
HTTP_USER_AGENT
koptekstwaarde, zoalsMozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322
). U kunt een lege tekenreeks doorgeven als u deze waarde niet wilt instellen. - A
URLSpec
object dat URI-waarden opslaat die vereist zijn om een HTML-formulier te genereren. - A
java.util.HashMap
object waarin bestandsbijlagen zijn opgeslagen. Deze parameter is optioneel en u kuntnull
als u geen bestanden aan het formulier wilt toevoegen. - Een leeg
com.adobe.idp.services.holders.BLOBHolder
object dat wordt gevuld door hetrenderHTMLForm
methode. Met deze parameterwaarde wordt het gerenderde formulier opgeslagen. - Een leeg
com.adobe.idp.services.holders.BLOBHolder
object dat wordt gevuld door hetrenderHTMLForm
methode. In deze parameter worden de XML-uitvoergegevens opgeslagen. - Een leeg
javax.xml.rpc.holders.LongHolder
object dat wordt gevuld door hetrenderHTMLForm
methode. In dit argument wordt het aantal pagina's in het formulier opgeslagen. - Een leeg
javax.xml.rpc.holders.StringHolder
object dat wordt gevuld door hetrenderHTMLForm
methode. In dit argument wordt de waarde van de landinstelling opgeslagen. - Een leeg
javax.xml.rpc.holders.StringHolder
object dat wordt gevuld door hetrenderHTMLForm
methode. In dit argument wordt de gebruikte HTML-renderwaarde opgeslagen. - Een leeg
com.adobe.idp.services.holders.FormsResultHolder
-object dat de resultaten van deze bewerking bevat.
De
renderHTMLForm
wordt decom.adobe.idp.services.holders.FormsResultHolder
object dat wordt doorgegeven als de laatste argumentwaarde met een formuliergegevensstroom die naar de webbrowser van de client moet worden geschreven. - Een tekenreekswaarde die de naam van het formulierontwerp opgeeft, inclusief de bestandsnaamextensie. Als u naar een formulierontwerp verwijst dat deel uitmaakt van een Forms-toepassing, moet u het volledige pad opgeven, zoals
-
De formuliergegevensstroom naar de webbrowser van de client schrijven
- Een
FormResult
object door de waarde van het object op te halencom.adobe.idp.services.holders.FormsResultHolder
objectvalue
lid. - Een
BLOB
object dat formuliergegevens bevat door hetFormsResult
objectgetOutputContent
methode. - Hiermee wordt het inhoudstype van het dialoogvenster
BLOB
object aanroepengetContentType
methode. - Stel de
javax.servlet.http.HttpServletResponse
inhoudstype van object aanroepensetContentType
en geeft u het inhoudstype van het dialoogvenster doorBLOB
object. - Een
javax.servlet.ServletOutputStream
object dat wordt gebruikt om de formuliergegevensstroom naar de webbrowser van de client te schrijven door het aanroepen van dejavax.servlet.http.HttpServletResponse
objectgetOutputStream
methode. - Maak een bytearray en vul deze door het
BLOB
objectgetBinaryData
methode. Deze taak wijst de inhoud van toeFormsResult
object naar de bytearray. - De
javax.servlet.http.HttpServletResponse
objectwrite
methode om de formuliergegevensstroom naar de webbrowser van de client te verzenden. Geef de bytearray door aan dewrite
methode.
- Een
Zie ook
AEM Forms aanroepen met Base64-codering