在jsp页面中调用bean方法

时间:2012-04-09 10:31:58

标签: java oop jsp servlets javabeans

我有一个可以创建bean的类,而且bean有很少的get和set方法(例如setId和getId,现在我在jsp页面中包含了这个java文件,现在我的问题是如何转发返回的值由bean到jsp文件?

请帮助。

2 个答案:

答案 0 :(得分:2)

只需将bean放在您需要的范围内即可。例如,如果它是需要在会话范围内的User类:

request.getSession().setAttribute("user", user);

这样,user实例可通过EL中的属性名"user"获得,如下所示${user}。然后,要通过getter方法访问其属性,只需使用EL中的句点.运算符,您可以在其中指定属性名称。

${user.id} 
${user.firstname}
${user.lastname}
...

无需在请求范围内单独放置所有属性。

另见:

答案 1 :(得分:1)

这应该是你的servlet中的东西:

MyBean bean = new MyBean(); //This should be your bean
Object o1 = bean.getObject1(); //Please don't use Object, use the correct type
Object o2 = bean.getObject2();

request.setAttribute("name",o1); //name can be anything you want
request.setAttribute("test",o2);
//forward to JSP

=======================================

在你的jsp中你可以使用EL:

<!-- This is the firstObject -->
<p>${name}</p>

<!-- This is the second Object -->
<b>${test}</b>

=======================================

使用的旧样式:Bean:

<!-- This is the first Object, use the correct type in class -->
<jsp:useBean id="name" scope="request" class="java.lang.Object" />

现在您可以访问bean的属性:

<jsp:getProperty name="name" property="firstName"/>

或:

<%= name.getFirstName() %>

=======================================

通常使用第二部分是非常罕见的。现在大多数人都使用EL。但我只是把它包括在内,以涵盖所有内容