Creación de una búsqueda personalizada

cancel
Showing results for 
Search instead for 
Did you mean: 
txakin
Member II

Creación de una búsqueda personalizada

Hola a todos,

Estoy creando una pantalla de búsqueda personalizada.

Lo que he hecho en estos momentos, es coger el browser.jsp y incluir mi nueva jsp :

<%– Buscador –%>
<tr valign=top>
   <td style="background-image: url(<%=request.getContextPath()%>/images/parts/whitepanel_4.gif)" width=4></td>
   <td style="padding: 4px">
          <aSmiley Tongueanel id="buscador-content-panel" border="white" bgcolor="white" titleBorder="lbgrey" expandedTitleBorder="dotted"
                   titleBgcolor="white" styleClass="mainSubTitle" label="#{msg.search}" progressive="true"
         expanded='#{BrowseContactosBean.panels["buscador-content-panel"]}'expandedActionListener="#{BrowseContactosBean.expandPanel}">
      <f:subview id="subBuscador">
      <%@
      QName myType = NavigationBean.getCurrentNode().getType();
      if (myType.equals(miModel.typeX))
       //miModel.typeX es un QName para mi nuevo tipo X de contenido
          include file="/jsp/extension/midirectorio/mibusquedaX.jsp"
      else
          if (myType.equals(miModel.typeY))
        //miModel.typeY es un QName para mi nuevo tipo Y de contenido
              include file="/jsp/extension/midirectorio/mibusquedaY.jsp"
      %>
      </f:subview>
   </aSmiley Tongueanel>
   </td>
   <td style="background-image: url(<%=request.getContextPath()%>/images/parts/whitepanel_6.gif)" width=4></td>
</tr>

El problema es que me está dando todo el rato un error este código Java que he metido.

javax.faces.FacesException: /jsp/extension/busqueda.jsp(220,12) Directiva no válida
caused by:
org.apache.jasper.JasperException: /jsp/extension/busqueda.jsp(220,12) Directiva no válida

Alguien me puede decir en que he podido fallar????????

Muchas gracias de antemano.
4 Replies
pjcaracuel_2349
Active Member II

Re: Creación de una búsqueda personalizada

Buenas

<%@
QName myType = NavigationBean.getCurrentNode().getType();
if (myType.equals(miModel.typeX)) //miModel.typeX es un QName para mi nuevo tipo X de contenido
include file="/jsp/extension/midirectorio/mibusquedaX.jsp"
else
if (myType.equals(miModel.typeY)) //miModel.typeY es un QName para mi nuevo tipo Y de contenido
include file="/jsp/extension/midirectorio/mibusquedaY.jsp"
%>

Me da que estas mezclando directivas <%@ para includes y no <% para  Scriptlets , yo tampoco controlo mucho de java pero seguro que el primer <%@ deberia ser <% y luego ir cerrando y abriendo nuevas directivas…. eso si los include

<%@ include file="/jsp/extension/midirectorio/mibusquedaX.jsp" %>

Saludos
fstnboy
Active Member

Re: Creación de una búsqueda personalizada

¿Porque en vez así no lo haces de otra manera más "limpia"?

web-client-config-navigation puedes escribir reglas de navegacion tal que:


   <config evaluator="node-type" condition="prefijo:tipoNodo">
      <navigation>
         <override from-view-id="/jsp/browse/browse.jsp" to-view-id="/jsp/wcm/browse-website.jsp" />
         <override from-outcome="browse" to-view-id="/jsp/wcm/browse-website.jsp" />
         <override from-outcome="showSpaceDetails" to-view-id="/jsp/wcm/website-details.jsp" />
      </navigation>
   </config>

De esa forma no tienes que tocar el browse.jsp.
txakin
Member II

Re: Creación de una búsqueda personalizada

Tu respuesta es correcta, y me ha funcionado, pero ahora me surgen varias preguntas respecto a esto.

Me he creado un nuevo browse.jsp…por ejemplo browse-website.jsp (ya que voy a cambiar más cosas) y quiero que todas las navegaciones referentes al browse.jsp original vayan a mi nuevo browse-website.jsp.

Entiendo que tendría que mirar en todos los xml….y donde se haga referencia al browse.jsp, poner mi nuevo browse-website.jsp…..pero eso me parece un poco engorroso.

Existe alguna opción para poder modificar todas esas navegaciones en mi web-client-config-custom.xml y así no machacar nunca los ficheros originales de Alfresco (lo digo por si algún día quiero migrar a una nueva versión de Alfresco)?

Muchas gracias de antemano.
ajv
Member II

Re: Creación de una búsqueda personalizada

Hola txakin,

En principio para sobreescribir las reglas de navegación, lo puedes hacer sin sobreescribir todas als reglas preexistentes.
En función de lo que se quiera sobreescribir de la configuración de JSF, tendrás que hacerlo de un modo u otro.
En modo resumen,
Para sobreescribir las reglas de navegación, has de crearte un fichero faces-config.xml y ubicarlo en META-INF en forma de JAR.
Para sobreescribir managed-beans, has de create un faces-config-custom.xml en WEB-INF (en Alfresco viene uno vacío por defecto)

Las nuevas reglas de navegación o nuevos managed-beans…en cualquiera de ellos.
Espero que te resuelva la papeleta Smiley Very Happy

Hasta pronto!!