考虑我已将类声明为:
public class Calcultor{
public int cube(int n){return n*n;}
}
现在两个声明都相同吗?
1)index.jsp:
<jsp:useBean id=obj class="Calculator"/>
<%
int m=obj.cube(5);
out.println("cube of 5 is "+m)
%>
和 2)index.jsp:
<%
Calculator obj=new Calculator();
int m=obj.cube(5);
out.println("cube of 5 is "+m);
%>
如果两者相同,有什么好处?
答案 0 :(得分:2)
不一样。 jsp:useBean将在某个范围(请求,会话...)中找到一个Calculator实例,这个范围之前有人创建(servlet,框架,控制器等),而scriptlet创建了一个新实例。
检查一下:
http://docs.oracle.com/javaee/1.3/tutorial/doc/JSPIntro11.html
顺便说一下,立方体的实现是错误的,应该返回n * n * n答案 1 :(得分:0)
如果我们使用usebean标签,它将隐藏“java编码”以获得像html结构的代码感觉..它将为页面代码提供统一的外观......
在第二个是在“jsp scriplet”内部,当我们想在jsp页面中编写java多个语句时使用(大多数在mvc架构中避免编写业务逻辑并一起查看).... :-)