© Copyright International Business Machines Corporation 2006. Reservados todos los derechos. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM® Corp.
Cuando desarrolle un proyecto de portlet de Struts, tenga en cuenta que los códigos de plantilla de Struts no están bien soportados por la herramienta de portlet de Struts.
- Al añadir el código de plantillas de Struts de la paleta a la página web, la herramienta genera incorrectamente una directiva taglib web de Struts para el usuario:
<%@taglib uri="http://jakarta.apache.org/struts/tags-template" prefix="template"%>
en lugar de la directiva taglib de plantilla de portlet de Struts correcta:
<%@taglib uri="http://struts.apache.org/tags-template" prefix="template"%>
Arreglando la directiva taglib para esa página no se resuelve el problema ya que la adición subsiguiente de los códigos de plantilla continuará añadiendo la directiva taglib incorrecta.- Los códigos de plantilla de Struts no se muestran en Page Designer.
Las herramientas de portlet de Struts no soportan actualmente el desarrollo de portlet tiles de Struts pero proporciona ejemplos de portlet tiles de Struts (IBM y JSR168) que puede importar en el espacio de trabajo para ayudarle a configurar el portlet para utilizar tiles en una aplicación de portlet.
Nota: el desarrollo de tiles en un proyecto de portlet de Struts puede hacer que se añada la faceta de proyecto de Soporte de plantillas dinámicas (Tiles de Struts). Esto originará problemas con el despliegue del portlet. Consulte el apartado de problemas conocidos y soluciones para obtener más información.
Cuando importa un ejemplo de portlet Struts (IBM o JSR168) en su espacio de trabajo, los ejemplos de portlet Struts pueden tener un error de tiempo de ejecución destino no definido. Dependiendo de la configuración del entorno de trabajo y de qué servidor se haya instalado en el sistema, puede obtener un error en el proyecto: "El tiempo de ejecución destino WebSphere® Portal V6.0 no está definido". Esto significa que WebSphere Portal V6.0 no está en la lista de servidores del entorno de trabajo.
Solución:
Antes de hacer nada con el ejemplo, debe configurar el tiempo de ejecución del servidor destino para el proyecto:
- Asegúrese de que haya un servidor destino adecuado disponible.
- Puede ver y modificar la lista de servidores disponibles estableciendo sus preferencias (Ventana > Preferencias > Servidor > Tiempo de ejecución instalado.)
- Busque "Apéndice de WebSphere Portal V6.0". Esto debe instalarse con la característica de herramientas de portal del producto. De lo contrario, pulse el botón Añadir para añadir un Tiempo de ejecución de WebSphere Portal V6.0.
- Seleccione el proyecto importado y utilice el menú de contexto para acceder a las propiedades del proyecto.
- Seleccione un tiempo de ejecución destino. Debe haber una lista de tiempos de ejecución destino que coincidan con el proyecto.
- Pulse Aceptar.
- Repita los pasos para el proyecto EAR importado con el ejemplo.
Después de establecer el tiempo de ejecución destino, reconstruya el proyecto para eliminar los errores y después podrá desplegarlo:
- Para reconstruir el proyecto, pulse Proyecto > Limpiar > Limpiar todos los proyectos o Limpiar los proyectos seleccionados y pulse Aceptar. Nota: algunos ejemplos contienen errores.
- Para desplegar el ejemplo que contiene errores, debe establecer la preferencia marcando el recuadro de selección Permitir publicación en servidor de aplicaciones con errores ( Ventana > Preferencias > Servidor > WebSphere.
- Pulse Aceptar.
- Para desplegar el proyecto, seleccione el proyecto (no el proyecto de EAR) y pulse Ejecutar como > Ejecutar en servidor. Asegúrese de que el tipo de servidor esté seleccionado para el tiempo de ejecución destino.
Es posible que, al trabajar con el portlet tiles de Struts, desencadene la instalación de la faceta de proyecto Soporte de plantillas de páginas dinámicas (Tiles de Struts.) Añadir la faceta de proyecto Soporte de plantillas de páginas dinámicas (Tiles de Struts) es una forma fácil de trabajar con tiles de Struts en su proyecto web dinámico, pero no con un proyecto portlet de Struts. Si se instala, se producirán errores de tiempo de ejecución en el despliegue. Además, utilizar la paleta para añadir códigos de tiples a los JSP de portlet de Struts implicará la adición de directivas taglib incorrectas.
Soluciones: si está desarrollando un portlet tiles de Struts, antes del despliegue, debe:
- Determinar si se ha instalado la faceta de proyecto Soporte de plantillas de páginas dinámicas (Tiles de Struts.) Puede hacer accediendo a las Propiedades de proyecto > Faceta de proyecto.
- Si se ha instalado, elimine las entradas de servlet adicional y de archivo de configuración que se hayan añadido al proyecto:
- Abra el archivo web.xml en el Editor de descriptores de despliegue. A continuación, en la pestaña Servlet, elimine la entrada TilesServlet y guarde el archivo.
- Abra el archivo struts-config.xml en el Editor de archivos de configuración de Struts. A continuación, en la pestaña Plug-ins, elimine la entrada org.apache.struts.tiles.TilesPlugin y guarde el archivo.
Nota: al eliminar la faceta de proyecto Soporte de plantillas de páginas dinámicas (Tiles de Struts) de la página Facetas de proyecto no se eliminan las entradas mencionadas más arriba. Es mejor dejar la entrada de la faceta de proyecto en la lista.- Para cada uno de los JSP que contienen códigos tiles, compruebe que se utilice el taglib tiles de portlet struts. Si no es así, (esto es para los portlets tiles de Struts de WPS V6.0),
- sustituya: <%@taglib uri="http://jakarta.apache.org/struts/tags-tiles" prefix="tiles"%>
- por: <%@taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>