<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. java語言

    Java自定義簡單標簽實例

    時間:2025-01-12 03:09:14 java語言 我要投稿
    • 相關推薦

    Java自定義簡單標簽實例

      引導語:當jsp的內置標簽和jstl標簽庫內的標簽都滿足不了需求,這時候就需要開發者自定義標簽。以下是百分網小編分享給大家的Java自定義簡單標簽實例,歡迎閱讀!

      下面將以權限的控制為例自定義一個標簽:

      一、標簽類型

      步驟:

      1.自定義一個類PerssionTag 繼承SimpleTagSupport(自定義標簽一般都會繼承這個類)

      package cn.com.liveuc.privilege.tag;

      import java.io.IOException;

      import java.util.ArrayList;

      import java.util.List;

      import java.util.Set;

      import javax.servlet.jsp.JspException;

      import javax.servlet.jsp.PageContext;

      import javax.servlet.jsp.tagext.SimpleTagSupport;

      import cn.com.liveuc.privilege.model.Privilege;

      import cn.com.liveuc.privilege.model.Resource;

      import cn.com.liveuc.privilege.model.Role;

      import cn.com.liveuc.privilege.model.User;

      /**

      *

      * @說明 自定義標簽

      */

      public class PerssionTag extends SimpleTagSupport {

      //自定義標簽屬性,用于標簽傳入參數

      private String uri;

      //接收標簽傳入的參數

      public void setUri(String uri) {

      this.uri = uri;

      }

      @Override

      public void doTag() throws JspException, IOException {

      //獲取用戶登陸后保存的Session

      PageContext page = (PageContext) this.getJspContext();

      User user = (User) page.getSession().getAttribute("login");

      //如果用戶登陸

      if(user != null) {

      //用戶登陸判斷用戶權限

      List list = new ArrayList();

      //獲取用戶的角色

      Set role = user.getRole();

      for(Role r:role) {

      //獲取角色對應的權限

      Set privilege = r.getPrivilege();

      for(Privilege p:privilege) {

      //獲取權限對應的資源

      Set res = p.getResource();

      for(Resource re:res) {

      list.add(re.getUri());

      }

      }

      }

      for(String ur:list) {

      //判斷用戶的權限

      if(ur.equals(uri)) {

      this.getJspBody().invoke(null); //有權限輸出標簽體內容

      }

      }

      }

      }

      }

      2.在WEB-INF下創建tld文件描述標簽。

      復制代碼 代碼如下:

      version="2.0"

      xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd">

      the Apache Struts framework includes a library of custom tags.

      The tags interact with the framework's validation and internationalization features;

      to ensure that input is correct and output is localized.

      The Struts Tags can be used with JSP FreeMarker or Velocity."]]>

      "Struts Tags"

      2.2.3

      s

      /wxt

      per

      cn.com.liveuc.privilege.tag.PerssionTag

      scriptless

      uri

      true

      true

      3.運用標簽

      在Jsp頁面導入標簽:

      %@taglib prefix="wxt" uri="/wxt" %

      運用標簽:

      用戶管理

      用戶權限包含uri資源的將會輸出標簽內容。

    【Java自定義簡單標簽實例】相關文章:

    php自定義錯誤日志實例詳解07-15

    java調用c函數的實例09-16

    Java鍵盤輸入實例07-06

    Java中的Spring入門實例09-15

    Java中synchronized的使用實例05-31

    java動態方法調度實例10-01

    JAVA語言中的實例變量06-01

    Java實現多繼承的實例07-18

    Java for循環語句使用實例08-26

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人