我不是 JSF 的粉丝。 Spring MVC 对我来说很有意义,我过去也用过它。
您能否说服我放弃它,或者提供将它很好地集成到 JEE6 中的技巧,并与 CDI 分享和解决问题。
我不介意只为 MVC 东西使用应用程序上下文,但如果我在我的 MVC Controller 中使用 @Inject 或 @EJB,会出现什么问题?
Seam3 看起来很有趣,但它是否已准备好投入生产?
最佳答案
另一种选择是使用 JAX-RS 作为 Controller (通过 Jersey 实现,您可以将控制权转发给 JSP),并使用 JSP 作为您的 View 。这样您就不必担心将 Spring 与 Java EE 集成。
例如,您可以有一个 HomeController:
@Path("/")
@Stateless
public class HomeController {
@Context
HttpRequest request; // Injects request object so you set attributes.
@EJB // Inject your EJB
EmployeeServiceLocal employeeService;
@GET
public Viewable getHomePage() {
Employee employee = employeeService.getEmployee();
request.setAttribute("employee", employee);
return new Viewable("/home.jsp", null);
}
}
这会将您定向到名为 home.jsp 的 JSP,您将能够通过请求对象在 JSP 上获取数据。请注意,JAX-RS 用于 RESTful Web 服务,因此要理解下面代码中发生的事情,您必须了解 REST。
关于jboss - 混合使用 Spring MVC 和 CDI/JEE6 的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4019446/