Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Chapter 6 Using JavaBeans Components in JSP Pages What Is a Bean? package com.ora.jsp.beans.motd; import java.util.*; public class CartoonBean implements java.io.Serializable { private static int index = -1; private List fileNames; public CartoonBean( ) { initFileList( ); } public String getFileName( ) { index++; if (index > fileNames.size( ) - 1) { index = 0; } return (String) fileNames.get(index); } private void initFileList( ) { fileNames = new ArrayList( ); fileNames.add("dilbert2001113293109.gif"); ... } } Implement a Java Bean use a package name A bean class must have a no-argument constructor The bean properties are accessed through getter and setter methods the bean class should implement the java.io.Serializable or the java.io.Externalizable interface The property name is case-sensitive and always starts with a lowercase letter Declaring a Bean in a JSP Page <html> <head> <title>A dose of Dilbert</title> </head> <body bgcolor="white"> <h1>A dose of Dilbert</h1> <jsp:useBean id="cartoon" class="com.ora.jsp.beans.motd.CartoonBean" /> <img src="images/<jsp:getProperty name="cartoon" property="fileName" />"> </body> </html> Reading Bean Properties Using the <jsp:getProperty> Action Using the JSP Expression Language <jsp:getProperty name="cartoon" property="fileName" /> <img src="images/${cartoon.fileName}"> If you need to generate an image dynamically, you should use a servlet <img src="imageGenServlet?width=100&height=100"> Setting Bean Properties Using the <jsp:setProperty> Action <jsp:setProperty name="msg" property="category" value="thoughts" /> Using the JSTL <c:set> Action <c:set target="${msg}" property="category" value="thoughts" /> To set a JSP action attribute to the value produced by another action <jsp:setProperty name="msg" property="category"> <jsp:attribute name="value" trim="true"> <jsp:getProperty name="myBean" property="myProperty" /> </jsp:attribute> </jsp:setProperty> Automatic Type Conversions When you use the <jsp:setProperty> or the JSTL <c:set> action, the container takes care automatically of the conversion from text values to the Java types Conversion of text value to property type Property type Conversion method boolean or Boolean Boolean.valueOf(String) byte or Byte Byte.valueOf(String) char or Character String.charAt(0) double or Double Double.valueOf(String) int or Integer Integer.valueOf(String) float or Float Float.valueOf(String) long or Long Long.valueOf(String) short or Short Short.valueOf(String) Object new String(String) Setup JavaBean Setup Environment Variables Compile JavaBean Javac CartoonBean.java Javac –classpath servlet-api.jar MyServlet.java Create directories in classes path %java_home%\bin;%path% set ClassPath %java_home%\lib com\ora\jsp\beans\motd Copy MyBean.class to com\ora\jsp\beans\motd Reload Web Application