4. 在JSP页面中使用Java函数
设要在JSP页面中使用一个add()函数,实现两个整数的加法运算。在JSP中使用Java函数要经过如下3个步骤:
【步骤1】函数的定义,创建类文件Compute.java。它定义了要在JSP中使用的add()方法。
package com.demo;
public class Compute{
public static int add(String x,String y){ int a = 0; int b = 0; try{ a = Integer.parseInt(x); b = Integer.parseInt(y); }catch(Exception e){
System.err.println(\} return a+b; } }
【步骤2】创建标签库描述文件taglib.tld。它实现将每个Java方法与函数名相匹配。
xmlns:xsi=\ xsi:schemaLocation=\ http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd\ version=\
注意:将该文件保存在Web应用程序WEB-INF\\classes目录中。
【步骤3】编写JSP文件sum.jsp,使用标签库URI以及函数名调用Java函数,代码如下:
<%@ page contentType=\
<%@ taglib prefix=\
计算两个整数之和
两个整数的和为:${demo:add(param[\
该页面运行结果为:
图10.1 sum.jsp页面的运行结果
5. 下面在Functions类中定义了reverse()函数用来实现字符串反转、numVowels()函数用来实现统计字符串中元音字母个数、caps()函数用来将一个字符串转换成大写字母、palindrome()函数用来判断一个字符串是否是回文。
编译该文件,编写TLD文件定义这些函数,编写JSP页面使用这些函数。
package com.function; import java.util.*;
public class Functions { public static String oldString(String text) { return text; }
public static String reverse( String text ) {
return new StringBuffer( text ).reverse().toString(); }
public static int numVowels( String text ) { String vowels = \ int result = 0;
for( int i = 0; i < text.length(); i++ ) { if( vowels.indexOf( text.charAt( i ) ) != -1 ) { result++; } }
return result; }
public static String caps( String text ) { return text.toUpperCase(); }
public static boolean palinDrome(String str){ StringBuffer sb = new StringBuffer(str); if((sb.reverse().toString()).equals(str)){ return true; }else{ return false; } } }
xmlns:xsi=\ xsi:schemaLocation=\ http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd\ version=\ oldString(java.lang.String) numVowels(java.lang.String) palinDrome(java.lang.String)
<%@ page contentType=\
<%@ taglib prefix=\
函数功能
you entered: ${function:oldString(param[\
After reversing: ${function:reverse(param[\
After counting vowels: there are ${function:numVowels(param[\vowels.
After exchanging:${function:caps(param[\
After judging: the text weather is palinDrome? ${function:palinDrome(param[\
三. 思考题
1. 简述JSP表达式语言的主要功能有哪些? 2.简述在JSP页面中使用Java函数的步骤。 源代码: 1:
(1):input.jsp
<%@ page contentType=\
请输入雇员信息:
(2): EmployeeServlet.servlet package com.control;
import java.io.*;
import javax.servlet.*; import javax.servlet.http.*;
import com.beans.EmployeeBean;
public class EmployeeServlet extends HttpServlet{
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException{
String eno = request.getParameter(\
String ename = request.getParameter(\