如果是的话,我们可以在中实现接口吗?
如果是,那么我们如何覆盖那些未实现的方法?
如果不是,可以扩展jsp ?中的任何其他类,如果是,为什么或者如何扩展。
如果是,那么jsp所发生的事情将转换为servlet,servlet已经扩展了其他内容。
如果不是,那么<%@ page extend="package.className">,这是什么意思?
谢谢。
发布于 2014-12-03 14:59:44
用JSP编写的所有代码都将用于为Servlet生成service方法中的代码,该Servlet的URL模式与访问您的JSP的URL匹配。除此之外,用JSP编写Java代码(称为scriptlet )被认为是一种糟糕的实践,您不应该再使用它了。
extend意味着生成的servlet必须从值中指定的类扩展。但是,您应该避免使用scriptlet。
相反,考虑使用任何Java代码(通过接口、类继承或以后可能想出的任何东西),使用MVC方法,并将所有业务逻辑转移到控制器/模型中。基本的方法是使用Servlet,另一种方法是使用像Spring或JSF这样的web框架来帮助您编写这个文档。对于必须向视图(JSP)添加动态数据的情况,可以使用表达式语言和像JSTL这样的库来解决问题。
更多信息:
发布于 2014-12-03 15:11:38
属性extends (而不是extend)指定了应该实现接口javax.servlet.jsp.JspPage的类。
由于生成的类名不一定是赋范的或直接的,所以扩展另一个JSP是不太好的。因此,扩展没有什么价值。
实现接口并没有提供太多的价值,因为JSP类不能被重用(扩展)。
实际上,JSP的主要用途应该是MVC范例的View功能,其中servlet充当Controller,并分发给Vew / JSP,属性中包含数据/模型。
使用POJO(普通的旧java对象)代替继承来实现一些通用功能。这样的类可以在web容器之外开发,例如编写单元测试: TDD,测试驱动开发。
还可以考虑JSP可以作为servlet转发或包含另一个servlet/JSP。
https://stackoverflow.com/questions/27274697
复制相似问题