<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            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

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院