简单实用jstl实现“登录|注册”

package com.ceshi;

import java.io.IOException;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.SimpleTagSupport;

public class UserStatus extends SimpleTagSupport {
    
    private String sessionKey;
public String getSessionKey() {
        return sessionKey;
    }
    public void setSessionKey(String sessionKey) {
        this.sessionKey = sessionKey;
    }
@Override
public void doTag() throws JspException, IOException {
    Object obj=this.getJspContext().getAttribute(sessionKey, PageContext.SESSION_SCOPE);
    if(obj==null){
        this.getJspContext().getOut().write("登录|注册");
    }
    else{
        this.getJspContext().getOut().write("welcome"+obj.toString());
    }
}
}

 

<?xml version="1.0" encoding="UTF-8"?>
<taglib xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
    version="2.1">
    
  <description>JSTL 1.1 core library</description>
  <display-name>JSTL core</display-name>
  <tlib-version>1.1</tlib-version>
  <short-name>m</short-name>
  <uri>http://www.baidu.com/myjstl</uri>
  
   
  <tag>
    <description>
        
    </description>
    <name>user</name>
    <tag-class>com.ceshi.UserStatus</tag-class>
    <body-content>scriptless</body-content>
    <attribute>
        <description>
Name of the exported scoped variable for the
exception thrown from a nested action. The type of the
scoped variable is the type of the exception thrown.
        </description>
        <name>sessionKey</name>
        <required>true</required>
        <rtexprvalue>false</rtexprvalue>
    </attribute>
    
  </tag>
</taglib>

 

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@taglib prefix="m" uri="http://www.baidu.com/myjstl" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!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>Insert title here</title>
</head>
<body>
<c:set scope="session" var="uid" value="zhangsan"></c:set>

<m:user sessionKey="uid"></m:user>
</body>
</html>

实现效果如下:

未登录时:

 

posted @ 2017-02-13 22:56  Claricre  阅读(1222)  评论(0编辑  收藏  举报