【发布时间】:2012-04-09 10:31:57
【问题描述】:
我有一个可以创建 bean 的类,并且该 bean 很少有 get 和 set 方法(例如 setId 和 getId,现在我将这个 java 文件包含在 jsp 页面中,现在我的问题是如何转发返回的值通过bean到jsp文件?
请帮忙。
【问题讨论】:
-
可能是请求参数,但是你试过什么?需要更多细节
标签: java oop jsp servlets javabeans
我有一个可以创建 bean 的类,并且该 bean 很少有 get 和 set 方法(例如 setId 和 getId,现在我将这个 java 文件包含在 jsp 页面中,现在我的问题是如何转发返回的值通过bean到jsp文件?
请帮忙。
【问题讨论】:
标签: java oop jsp servlets javabeans
只需将 bean 放在您需要它可用的范围内。例如,如果是 User 类需要在会话范围内:
request.getSession().setAttribute("user", user);
这样user 实例可以通过EL 中的属性名称"user" 获得,如下${user}。然后,要通过 getter 方法访问其属性,只需在 EL 中使用句点 . 运算符,在其中指定属性名称。
${user.id}
${user.firstname}
${user.lastname}
...
无需将所有属性单独放在请求范围内。
【讨论】:
这应该是您的 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>
========================================
或者使用 use: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。但我只是把它包括在内,以涵盖所有内容
【讨论】: