首先,有如下的javaben文件:
package com.wrox.begjsp.ch5;
import java.beans.*;
import java.util.*;
public class NewsFeed extends Object implements java.io.Serializable {
private String topic;
private String value;
private HashMap values;
public NewsFeed() {
}
public void setTopic(String topic) {
value = "";
values = null;
if (topic.equals("news")) {
value = "JSP Programmer Won 10 Million in Lottery";
}
if (topic.equals("entertainment")) {
value = "Reality TV Show Ratings Falling";
}
if (topic.equals("weather")){
values = new HashMap();
values.put("Mumbai", "30 C");
values.put("Tokyo", "18 C");
values.put("Hong Kong", "28 C");
}
}
public String getValue() {
return this.value;
}
public Map getValues() {
return this.values;
}
}
我们要在JSP页面中获取该javabean的属性:有如下jsp页面
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<jsp:useBean id="newsfeed" class="com.wrox.begjsp.ch5.NewsFeed" scope="page" />
<html>
<head>
<title>EL Property Access and Nested Properties Examples</title>
</head>
<body>
<h1>EL Property Access and Nested Properties Examples</h1>
<jsp:setProperty name="newsfeed" property="topic" value="news"/>
News headline is <b>${newsfeed.value}</b>.<br/>
<jsp:setProperty name="newsfeed" property="topic" value="entertainment"/>
Entertainment headline is <b>${newsfeed["value"]}</b>.<br/>
<jsp:setProperty name="newsfeed" property="topic" value="weather"/>
The weather in Tokyo right now is ${newsfeed.values.Tokyo}.<br/>
The weather in Mumbai right now is ${newsfeed["values"].Mumbai}.<br/>
The weather in Hong Kong right now is ${newsfeed.values["Hong Kong"]}.<br/>
</body>
</html>
操作过程如下:
1)在JSP页面中声明所使用的JAVABEN
<jsp:useBean id="newsfeed" class="com.wrox.begjsp.ch5.NewsFeed" scope="page" />
2) 使用<jsp:setProperty>设订javaben某个属性的值
<jsp:setProperty name="newsfeed" property="topic" value="news"/>
3)是用EL表达式获取JAVABEAN的属性值
News headline is <b>${newsfeed.value}</b>.<br/>