Crear y registrar un archivo JSP de serialización para el elemento de campaña

Cree y registre un archivo JSP de serialización para extraer los elementos de autoría de las tablas DMELEMENT y DMELEMENTNVP para su nuevo elemento de campaña y mostrarlos en la interfaz de usuario del Centro de gestión. Los usuarios de empresa luego pueden establecer las propiedades del elemento de campaña en actividades de marketing.

Por qué y cuándo se efectúa esta tarea

Cuando un usuario de empresa abre una actividad, el archivo JSP de serialización padre, GetActivityChildren.jsp, llama al archivo JSP de serialización de cada elemento de campaña para cargar los datos de la actividad.

Si la definición de objeto para su nuevo elemento de campaña incluye wcfChildObjectDefinitions o wcfReferenceObjectDefinitions, debe crear un nuevo archivo JSP de serialización para su nuevo elemento de campaña; de lo contrario, puede utilizar el archivo JSP de serialización genérico existente, SerializeActivitygenericElement.jsp, tal como está. En ambos casos, debe registrar el archivo JSP de serialización en el archivo de configuración de Struts para personalización, struts-extension.xml. Este archivo inicialmente está vacío y tiene prioridad sobre todos los archivos de configuración de Struts.

Procedimiento

  1. Abra HCL Commerce Developer y cambie a la vista Explorador de empresa.
  2. Si necesita un nuevo archivo JSP de serialización, realice los pasos siguientes; de lo contrario, vaya directamente al paso 3:
    1. Cree un directorio para almacenar su nuevo archivo JSP.
      Utilice una estructura de directorios parecida a la del ejemplo siguiente:

      LOBTools/WebContent/jsp/your_company_name/marketing

    2. Cree un archivo JSP con esta sintaxis: SerializeActivitycampaign_element_name.jsp, por ejemplo, SerializeActivityCustomLevelOfSupport.jsp.
    3. Defina el nuevo archivo JSP de serialización.
      El siguiente es un archivo JSP de serialización de ejemplo para un destino personalizado:
      <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
      <object objectType="customLevelOfSupport"> 1
          <parent><object objectId="${element.parentElementIdentifier.name}"/></parent> 2a
          <elemTemplateName><![CDATA[${element.campaignElementTemplateIdentifier.externalIdentifier.name}]]&gt;</elemTemplateName> 2b
          <elementName>${element.campaignElementIdentifier.name}</elementName> 2c
          <sequence>${element.elementSequence}</sequence> 2d
          <customerCount readonly="true">${element.count}</customerCount> 2e
          <c:forEach var="elementVariable" items="${element.campaignElementVariable}"> 3
              <${elementVariable.name}> 
                  <![CDATA[${elementVariable.value}]]&gt;
              </${elementVariable.name}>
          </c:forEach>
      </object>

      A continuación se describen las líneas con comentarios emergentes numerados en negro:

      • 1 El valor objectType debe coincidir con el objectType definido en la definición de objeto para este elemento de campaña.
      • 2a-e Estos cinco elementos son obligatorios; incluya las líneas de código exactamente como se muestran en el ejemplo anterior sin ningún cambio.
      • 3 El elemento <c:forEach> se repite en bucle por todos los valores almacenados para el elemento de campaña en la tabla DMELEMENTNVP y devuelve todos los nombres (en elementVariable.name) y valores (en elementVariable.value).

      Este archivo JSP también debe devolver todas las wcfChildObjectDefinitions y wcfReferenceObjectDefinitions. Para ver ejemplos de archivos JSP de serialización que hagan esto, revise un archivo JSP de serialización predeterminado para un elemento de campaña similar. Los archivos predeterminados se denominan SerializeActivitycampaign_element_name.jsp, por ejemplo, SerializeActivityonlineBehavior.jsp. Los archivos predeterminados se almacenan en esta vía de acceso:

      LOBTools/WebContent/jsp/commerce/marketing/restricted/

    4. Guarde y cierre el nuevo archivo JSP de serialización.
  3. Abra el archivo de configuración de Spring, spring-extension.xml.
    El archivo se almacena en esta vía de acceso:

    LOBTools/WebContent/WEB-INF

  4. Añada una nueva correlación de acciones para registrar el archivo JSP de serialización:
    • Si ha creado su propio archivo JSP de serialización, la correlación de acciones debe utilizar la siguiente sintaxis:
      <action path="/SerializeActivityElement-objectType_value" include="/jsp/your_company_name/marketing/name_of_serialization_jsp_file.jsp" />

      Donde:

      • objectType_value es el valor del atributo objectType definido en la definición de objeto para este elemento de campaña
      • name_of_serialization_jsp_file es el nombre asignado al archivo JSP de serialización personalizado para el nuevo elemento de campaña en un paso anterior de este procedimiento.
    • Si está utilizando el archivo JSP de serialización genérico, su correlación de acciones debe utilizar la siguiente sintaxis:
      <action path="/SerializeActivityElement-objectType_value" include="/jsp/commerce/marketing/restricted/SerializeActivitygenericElement.jsp" />

      donde objectType_value es el valor del atributo objectType definido en la definición de objeto para este elemento de campaña.

    A continuación se ofrecen un par de consejos:
    • Si ha copiado código de un archivo JSP de serialización existente, debe actualizar las vías de acceso según corresponda para los archivos JSP incluidos.
    • Si cambia el archivo JSP de serialización, asegúrese de que edita el archivo GetActivityChildren.jsp. No es necesario que realice cambios en el archivo GetActivityChildren.jsp; simplemente debe guardar el archivo para modificar la indicación de fecha y hora. El archivo GetActivityChildren.jsp incluye los archivo JSP de serialización, por lo que se garantizará que los cambios del archivo JSP de serialización se tengan en cuenta.
  5. Reinicie el servidor de pruebas de HCL Commerce para que la nueva configuración esté disponible.