使用<jsp:usebean>标记</jsp:usebean>

时间:2013-02-21 16:03:12

标签: jsp jsp-tags

考虑我已将类声明为:

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);
%>

如果两者相同,有什么好处?

2 个答案:

答案 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架构中避免编写业务逻辑并一起查看).... :-)