首先,有如下的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/>