我想将 JSP useBean taglib 实现为类注释......可能吗?如果是这样,最好(简单有效)的方法是什么?
例子:
<jsp:useBean id="p" class="beans.Person" scope="application"></jsp:useBean>
---->
//Custom annotation goes here...
@ManagedBean
public class Bean {
}
我想将 JSP useBean taglib 实现为类注释......可能吗?如果是这样,最好(简单有效)的方法是什么?
例子:
<jsp:useBean id="p" class="beans.Person" scope="application"></jsp:useBean>
---->
//Custom annotation goes here...
@ManagedBean
public class Bean {
}
没有使用标准 JSP 工具的直接方法。老式的<jsp:useBean>
方法也与 MVC 相去甚远,因为没有控制器。只需选择一个支持 JSP 作为 View 的现有 MVC 框架,例如Spring MVC、JSF等(尽管 JSF 从 2.0 版开始使用 JSP 的后继 Facelets 作为默认 View 技术)并使用它的托管 bean 设施。现代 MVC 框架支持注解。
在这种特殊情况下,对于应用程序范围的 bean,在不需要 MVC 框架的情况下使用注释的完全不同的替代方法是使用带有ServletContextListener
注释的@WebListener
.
@WebListener
public void Config implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent event) {
event.getServletContext().setAttribute("p", new Person());
}
// ...
}
(尽管Person
在应用程序范围内有类似 a 的东西只是很奇怪......)
对于会话范围,您可以实现HttpSessionListener
,对于请求范围,ServletRequestListener
. 这种方式只是很笨拙。我真的会考虑一个像样的 MVC 框架。