使用jstl移除java代码

news/2024/5/18 12:12:43 标签: jstl, jsp

jsp中有这样一段代码需要移除

//  		 String ip = request.getRemoteAddr();
//  		out.print(ip); 

首先我们可以写一个java类继承TagSupport类,并覆盖dostartTag方法

public class ViewIPTag extends TagSupport {

	@Override
	public int doStartTag() throws JspException {
		
		HttpServletRequest request = (HttpServletRequest) this.pageContext.getRequest();
		
		JspWriter out = this.pageContext.getOut();
		
		String ip = request.getRemoteAddr();
		try {
			out.print(ip);
		} catch (IOException e) {
			throw new RuntimeException(e);
		}
		return super.doStartTag();
	}

	
}

在WEB-INF目录下写一个tld文件来描述处理器

<?xml version="1.0" encoding="UTF-8" ?>


<taglib 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 http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
    version="2.0">
    <description>A tag library exercising SimpleTag handlers.</description>
    <tlib-version>1.0</tlib-version>
    <short-name>itcast</short-name>
    <uri>http://www.itcast.cn</uri>
    
    <tag>
        <name>viewIP</name>
		<tag-class>cn.itcast.web.tag.ViewIPTag</tag-class>
		<body-content>empty</body-content>
    </tag>
    
    </taglib>

jsp页面为

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://www.itcast.cn" prefix="ip"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>display your ip</title>
</head>
<body>
your ip is: <ip:viewIP/>
<% 
//  		 String ip = request.getRemoteAddr();
//  		out.print(ip); 
%>
</body>
</html>

运行后可以看见输出


http://www.niftyadmin.cn/n/1695266.html

相关文章

[洛谷4139]上帝与集合的正确用法 题解

前言 非常interesting的题目&#xff0c;立个flag下一道做洛谷P3934 Nephren Ruq Insania UPD(2019.5.21)&#xff1a;flag完成了解法 题目求\(2^{2^{2^{2\dots}}}\ \%\ p\)的值 珂以递归解决&#xff0c;根据欧拉降幂将\(2^{2^{2^{2\dots}}}\ \%\ p\)转化为\(2^{2^{2^{2^{2\do…

开发一个foreach标签

此标签和sun公司的一样可以迭代Map,List,数组 jsp文件为 <%page import"java.util.*"%> <% page language"java" contentType"text/html; charsetUTF-8"pageEncoding"UTF-8"%> <% taglib uri"/simple" pref…

Oracle到SAP HANA实时复制系列(一):初识SRS

引言 随着公司业务的不断扩大&#xff0c;为了解决集中式数据库系统的数据访问瓶颈&#xff0c;很多公司开始采用分布式数据库系统来解决这个问题。但分布式数据库系统中多个数据库之间的数据一致性问题和数据实时复制是其中的一道难题&#xff0c;SRS&#xff08;Sybase Repli…

关于rabbitMq确认的那点事

关于rabbitMq确认的那点事 平时工作中经常用到queue,但只停于用而不知道原理。对于工作多年码农所忌讳的事。 好。。这里就拿典型的rabbitMQ为研究对象(当然&#xff0c;工作中也一直使用着它) 今天就来说说消息防丢失的事。 首先rabbitMQ消息防丢失有两种手段。 1、事务 2、确…

博客搬家到csdn

博客搬家到csdn上&#xff0c;地址&#xff1a;http://blog.csdn.net/blackproof

自定义BufferedReader的两个方法

展示read(),和readLine()方法 public class MyBufferedReader {private FileReader f;// 定义一个数组作为缓冲区private char[] buf new char[1024];// 定义一个指针用来操作数组中的元素&#xff0c;当操作到最后一个元素后指针归零private int pos 0;// 定义一个计数器用来…

在虚拟机环境下搭建自己的SAP HANA数据库学习环境

SAP HANA是一个全新设计的内存数据库系统&#xff0c;他即支持传统的行式存储也支持列式存储。HANA数据库具有很高的性能、并发能力和可扩展性。HANA即可以支持OLTP应用也可以支持OLAP系统。 我们都知道&#xff0c;制约数据库系统性能提升的关键瓶颈是I/O。为了解决这个问题&a…

集合遍历

1、使用增强的for循环 1 HashMap hashMapnew HashMap(); 2 hashMap.put("name","张三"); 3 hashMap.put("age",12); 4 hashMap.put("score",90); 5 for (Object key:hashMap.keySet()){ 6 …