Si está utilizando Spring MVC, entonces yo recomendaría el uso de portlets. En Spring, los portlets son controladores livianos, ya que solo son responsables de un fragmento de toda la página y son muy fáciles de escribir. Si está utilizando Spring 2.5, puede disfrutar de todos los beneficios del nuevo soporte de anotación, y se ajustan muy bien en toda la aplicación de Spring con la inyección de dependencia y los otros beneficios de usar Spring.
Un controlador portlet es más o menos lo mismo que un controlador servlet, aquí es un ejemplo simple:
@RequestMapping("VIEW")
@Controller
public class NewsPortlet {
private NewsService newsService;
@Autowired
public NewsPortlet(NewsService newsService) {
this.newsService = newsService;
}
@RequestMapping(method = RequestMethod.GET)
public String view(Model model) {
model.addAttribute(newsService.getLatests(10));
return "news";
}
}
Aquí, un NewsService se inyecta automáticamente en el controlador. El método view agrega un objeto List al modelo, que estará disponible como $ {newsList} en el JSP. Spring buscará una vista llamada news.jsp basada en el valor de retorno del método. RequestMapping le dice a Spring que este controlador es para el modo VIEW del portlet.
La configuración XML sólo tiene que especificar el lugar de la vista y los controladores se encuentran:
<!-- look for controllers and services here -->
<context:component-scan base-package="com.example.news"/>
<!-- look for views here -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/news/"/>
<property name="suffix" value=".jsp"/>
</bean>
Si desea incrustar sólo los módulos de función en su aplicación existente, la puede agrupar un contenedor de portlets, como eXo , Sun o Apache. Si desea construir su aplicación como un conjunto de portlets, es posible que desee considerar una solución portlal completa, como Liferay Portal.
Gracias por su útil respuesta, ¿tiene alguna experiencia con Spring portlets MVC? Algunos tutoriales, guías? Tal vez puede recomendar un servidor de portal? – moriarty
Desarrollarlos es mi trabajo principal, así que tengo mucha experiencia. Aunque no hay mucha documentación específica en línea. Puede llegar bastante lejos siguiendo la documentación de Spring MVC ya que el marco de trabajo de Porlet es casi idéntico. Liferay es un buen portal, pero podría ser más de lo que necesita. – pjesi