本文档中的示例和示例仅适用于AEM Forms on JEE环境。
Forms服务会渲染HTML表单,以响应来自Web浏览器的HTTP请求。 呈现HTML表单时,Forms服务可以引用自定义CSS文件。 您可以创建一个自定义CSS文件以满足您的业务要求,并在使用Forms服务渲染HTML表单时引用该CSS文件。
Forms服务会以静默方式解析自定义CSS文件。 也就是说,Forms服务不会报告在自定义CSS文件不符合CSS标准时可能遇到的错误。 在这种情况下,Forms服务会忽略样式,并继续使用位于CSS文件中的其余样式。
以下列表指定了自定义CSS文件支持的样式:
您可以使用FormsIVS应用程序检索示例CSS文件。 上传表单,在“测试表单设计”页面中选择它,然后单击“生成CSS”。 在单击该按钮之前,您无需设置HTML转换类型。 接下来,选择“保存”。 您可以编辑此CSS文件以满足您的业务要求。
在渲染使用自定义CSS文件的HTML表单之前,请务必充分了解渲染HTML表单。 (请参阅 将Forms渲染为HTML.)
有关Forms服务的更多信息,请参阅 AEM Forms的服务参考.
要渲染使用CSS文件的HTML表单,请执行以下任务:
包括项目文件
在开发项目中包含必要的文件。 如果要使用Java创建客户端应用程序,请包含必要的JAR文件。 如果使用Web服务,请确保包含代理文件。
创建Forms Java API对象
您必须先创建一个Forms客户端对象,然后才能以编程方式执行Forms服务支持的操作。
引用CSS文件
要渲染使用自定义CSS文件的HTML表单,请确保引用现有的CSS文件。
渲染HTML表单
要呈现HTML表单,必须指定在Designer中创建并另存为XDP文件的表单设计。 还必须选择HTML转换类型。 例如,您可以指定用于渲染Internet Explorer 5.0或更高版本的动态HTML的HTML转换类型。
呈现HTML表单还需要值,例如呈现其他表单类型所需的URI值。
将表单数据流写入客户端Web浏览器
当Forms服务渲染HTML表单时,它会返回一个表单数据流,您必须将该数据流写入客户端Web浏览器,才能使用户看到HTML表单。
另请参阅
使用Forms API (Java)渲染使用自定义CSS文件的HTML表单:
包括项目文件
在Java项目的类路径中包含客户端JAR文件,如adobe-forms-client.jar。
创建Forms Java API对象
ServiceClientFactory
包含连接属性的对象。FormsServiceClient
对象,使用它的构造函数传递 ServiceClientFactory
对象。引用CSS文件
HTMLRenderSpec
对象。HTMLRenderSpec
对象的 setCustomCSSURI
方法,并传递一个指定CSS文件的位置和名称的字符串值。渲染HTML表单
调用 FormsServiceClient
对象的 (Deprecated) (Deprecated) renderHTMLForm
方法,并传递以下值:
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
.TransformTo
指定HTML首选项类型的枚举值。 例如,要渲染与Internet Explorer 5.0或更高版本的动态HTML兼容的HTML表单,请指定 TransformTo.MSDHTML
.com.adobe.idp.Document
包含要与表单合并的数据的对象。 如果不想合并数据,请传递一个空值 com.adobe.idp.Document
对象。HTMLRenderSpec
存储HTML运行时选项的对象。HTTP_USER_AGENT
标头值,例如 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
.URLSpec
存储呈现HTML表单所需的URI值的对象。java.util.HashMap
存储文件附件的对象。 这是一个可选参数,您可以指定 null
如果您不想将文件附加到表单。此 (Deprecated) renderHTMLForm
方法返回 FormsResult
包含必须写入客户端Web浏览器的表单数据流的对象。
将表单数据流写入客户端Web浏览器
com.adobe.idp.Document
对象 FormsResult
对象 getOutputContent
方法。com.adobe.idp.Document
对象,调用其 getContentType
方法。javax.servlet.http.HttpServletResponse
对象的内容类型(通过调用其 setContentType
方法和传递的内容类型 com.adobe.idp.Document
对象。javax.servlet.ServletOutputStream
用于通过调用 javax.servlet.h\ttp.HttpServletResponse
对象的 getOutputStream
方法。java.io.InputStream
对象 com.adobe.idp.Document
对象的 getInputStream
方法。InputStream
对象的 read
方法,并将字节数组作为参数传递。javax.servlet.ServletOutputStream
对象的 write
方法将表单数据流发送到客户端Web浏览器。 将字节数组传递到 write
方法。另请参阅
快速入门(SOAP模式):渲染使用CSS文件的HTML表单(使用Java API)
使用Forms API(Web服务)呈现使用自定义CSS文件的HTML表单:
包括项目文件
创建Forms Java API对象
创建 FormsService
对象并设置身份验证值。
引用CSS文件
HTMLRenderSpec
对象。HTMLRenderSpec
对象的 setCustomCSSURI
方法,并传递一个指定CSS文件的位置和名称的字符串值。渲染HTML表单
调用 FormsService
对象的 (Deprecated) renderHTMLForm
方法,并传递以下值:
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
.TransformTo
指定HTML首选项类型的枚举值。 例如,要渲染与Internet Explorer 5.0或更高版本的动态HTML兼容的HTML表单,请指定 TransformTo.MSDHTML
.BLOB
包含要与表单合并的数据的对象。 如果不想合并数据,请传递 null
. (请参阅 使用可流布局预填充Forms.)HTMLRenderSpec
存储HTML运行时选项的对象。HTTP_USER_AGENT
标头值,例如 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
. 如果您不想设置此值,可以传递空字符串。URLSpec
存储呈现HTML表单所需的URI值的对象。java.util.HashMap
存储文件附件的对象。 这是一个可选参数,您可以指定 null
如果您不想将文件附加到表单。com.adobe.idp.services.holders.BLOBHolder
由填充的对象 (Deprecated) renderHTMLForm
方法。 此参数值存储渲染的表单。com.adobe.idp.services.holders.BLOBHolder
由填充的对象 (Deprecated) renderHTMLForm
方法。 此参数存储输出XML数据。javax.xml.rpc.holders.LongHolder
由填充的对象 (Deprecated) renderHTMLForm
方法。 此参数存储表单中的页数。javax.xml.rpc.holders.StringHolder
由填充的对象 (Deprecated) renderHTMLForm
方法。 此参数存储区域设置值。javax.xml.rpc.holders.StringHolder
由填充的对象 (Deprecated) renderHTMLForm
方法。 此参数存储使用的HTML渲染值。com.adobe.idp.services.holders.FormsResultHolder
将包含此操作结果的对象。此 (Deprecated) renderHTMLForm
方法填充 com.adobe.idp.services.holders.FormsResultHolder
作为最后一个参数值(具有必须写入客户端Web浏览器的表单数据流)传递的对象。
将表单数据流写入客户端Web浏览器
FormResult
对象,方法是获取 com.adobe.idp.services.holders.FormsResultHolder
对象的 value
数据成员。BLOB
通过调用 FormsResult
对象的 getOutputContent
方法。BLOB
对象,调用其 getContentType
方法。javax.servlet.http.HttpServletResponse
对象的内容类型(通过调用其 setContentType
方法和传递的内容类型 BLOB
对象。javax.servlet.ServletOutputStream
用于通过调用 javax.servlet.http.HttpServletResponse
对象的 getOutputStream
方法。BLOB
对象的 getBinaryData
方法。 此任务分配 FormsResult
对象。javax.servlet.http.HttpServletResponse
对象的 write
方法将表单数据流发送到客户端Web浏览器。 将字节数组传递到 write
方法。另请参阅