2010-08-23 6 views
0

Y at-il un moyen de fournir à mes portlets Spring un état par défaut qui est résolu si une expcetion indisponible se produit?Spring Portlet MVC - comment intercepter les exceptions de mappage

je reçois cette exception

10:24:53,187 ERROR [517: org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl] The portlet threw an exception 
javax.portlet.UnavailableException: No matching handler method found for portlet request: mode 'view', phase 'ACTION_PHASE', parameters map[[empty]] 
    at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter$PortletHandlerMethodResolver.resolveHandlerMethod(AnnotationMethodHandlerAdapter.java:488) 
    at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:354) 
    at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.doHandle(AnnotationMethodHandlerAdapter.java:345) 
    at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.handleAction(AnnotationMethodHandlerAdapter.java:280) 
    at org.springframework.web.portlet.DispatcherPortlet.doActionService(DispatcherPortlet.java:646) 
    at org.springframework.web.portlet.FrameworkPortlet.processRequest(FrameworkPortlet.java:519) 
    at org.springframework.web.portlet.FrameworkPortlet.processAction(FrameworkPortlet.java:460) 

Je voudrais saisir cet état exception et il suffit de retourner la valeur par défaut « VIEW » ou quelque chose.

* -portlet.xml

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:context="http://www.springframework.org/schema/context" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> 
     <context:annotation-config/> 
     <!-- Controllers --> 
     <bean id="portletController" class="de.nv.spring.portlets.PortletController"/> 

     <!-- Handler Mappings --> 
     <bean class="org.springframework.web.portlet.mvc.annotation.DefaultAnnotationHandlerMapping"/> 
</beans> 

Répondre

1

Avez-vous un -méthodes rendu/l'action par défaut? Pour moi, la méthode de rendu par défaut suivant fonctionne:

@RenderMapping(params="!render") 
public String defaultRender(RenderRequest req, RenderResponse res, Model model) throws PortalException, SystemException { 
    // do something 
} 

La valeur d'annotation render signifie que cela fonctionne s'il existe désamorcent paramètre non. Intuitivement, vous pouvez utiliser la même approche sur votre paramètre d'action.

+0

J'ai essayé ceci aujourd'hui sur le projet spécifique. Travaux. Merci heikkim – onigunn

Questions connexes