jsp 调用java函数
2018-03-16 11:41
666 查看
1.编写java类[java] view plain copypackage myEL;
public class ELFun {
public static String processStr(String s) {
s=s.toUpperCase();
return s;
}
}
EL函数对应的java类的方法必须是静态的2.编写tld文件[html] view plain copy<?xml version="1.0" encoding="UTF-8"?>
<taglib version="2.0" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd">
<tlib-version>1.0</tlib-version>
<uri>myelfun</uri>
<function>
<name>elfunction</name>
<function-class>myEL.ELFun</function-class>
<function-signature>
java.lang.String processStr(java.lang.String)
</function-signature>
</function>>
</taglib>
TLD文件的扩展名必须是.tld3.web.xml配置[html] view plain copy<jsp-config>
<taglib>
<taglib-uri>/WEB-INF/TLD/elfun.tld
</taglib-uri>
<taglib-location>
/WEB-INF/TLD/elfun.tld
</taglib-location>
</taglib>
</jsp-config>
4.jsp中调用[html] view plain copy<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib uri="/WEB-INF/TLD/elfun.tld" prefix="elfun" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'elfun.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<form method="POST">
请输入一个字符串:
<input type="text" name="text"/>
<p>
<input type="submit" value ="提交"/>
</form>
<p>
直接输出文本框中的内容:
<p>
${param.text }
<p>
${elfun:elfunction(param.text)}
<p>
<br>
</body>
</html>
如果用URI引用TLD文件,JSP引擎会先在WEB-INF目录及子目录中寻找所有的*.tld文件,如果发现某个.tld文件中的<uri>标签定义的URI和talib中的uri属性的值相等,就会记住这个.tld路径,在生成servlet的同时就会将这个TLD文件的路径也加进来。
public class ELFun {
public static String processStr(String s) {
s=s.toUpperCase();
return s;
}
}
EL函数对应的java类的方法必须是静态的2.编写tld文件[html] view plain copy<?xml version="1.0" encoding="UTF-8"?>
<taglib version="2.0" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd">
<tlib-version>1.0</tlib-version>
<uri>myelfun</uri>
<function>
<name>elfunction</name>
<function-class>myEL.ELFun</function-class>
<function-signature>
java.lang.String processStr(java.lang.String)
</function-signature>
</function>>
</taglib>
TLD文件的扩展名必须是.tld3.web.xml配置[html] view plain copy<jsp-config>
<taglib>
<taglib-uri>/WEB-INF/TLD/elfun.tld
</taglib-uri>
<taglib-location>
/WEB-INF/TLD/elfun.tld
</taglib-location>
</taglib>
</jsp-config>
4.jsp中调用[html] view plain copy<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib uri="/WEB-INF/TLD/elfun.tld" prefix="elfun" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'elfun.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<form method="POST">
请输入一个字符串:
<input type="text" name="text"/>
<p>
<input type="submit" value ="提交"/>
</form>
<p>
直接输出文本框中的内容:
<p>
${param.text }
<p>
${elfun:elfunction(param.text)}
<p>
<br>
</body>
</html>
如果用URI引用TLD文件,JSP引擎会先在WEB-INF目录及子目录中寻找所有的*.tld文件,如果发现某个.tld文件中的<uri>标签定义的URI和talib中的uri属性的值相等,就会记住这个.tld路径,在生成servlet的同时就会将这个TLD文件的路径也加进来。
相关文章推荐
- JSP:使用EL表达式调用java函数
- JSP调用JavaBean在网页上动态生成柱状图
- html,jsp里的onclick事件 return false与二重调用
- 一个用JSP实现的分页的类及调用方法
- jsp调用存储过程[1]
- JSP调用JavaBean零接触
- jsp调用java函数的方法
- jsp调用shell脚本
- struts中调用servlet动态生成柱状图到jsp页面
- jsp 与 javascript 变量相互调用方法
- 微信JSSDK开发,调用微信扫一扫 JAVA & jsp前端 & js实现
- S2SH中,JSP页面调用dao的方法
- jsp调用javabean实例
- JavaScript 和jsp 值相互调用
- JSP调用存储过程
- 关于JSP开发中jsp页面调用DAO返回的ResultSet为空值完美解决方案
- JSP调用OCX控件
- jsp页面调用时间:让2008-10-6 20:36:42 变成 2008-10-6 ——从数据库调用时只显示日期
- jsp调用js文件中文乱码
- jsp页面调用ocx控件