亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

java語言

Java自定義簡單標(biāo)簽實(shí)例

時(shí)間:2024-10-19 15:42:48 java語言 我要投稿
  • 相關(guān)推薦

Java自定義簡單標(biāo)簽實(shí)例

  引導(dǎo)語:當(dāng)jsp的內(nèi)置標(biāo)簽和jstl標(biāo)簽庫內(nèi)的標(biāo)簽都滿足不了需求,這時(shí)候就需要開發(fā)者自定義標(biāo)簽。以下是百分網(wǎng)小編分享給大家的Java自定義簡單標(biāo)簽實(shí)例,歡迎閱讀!

  下面將以權(quán)限的控制為例自定義一個(gè)標(biāo)簽:

  一、標(biāo)簽類型

  步驟:

  1.自定義一個(gè)類PerssionTag 繼承SimpleTagSupport(自定義標(biāo)簽一般都會(huì)繼承這個(gè)類)

  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;

  /**

  *

  * @說明 自定義標(biāo)簽

  */

  public class PerssionTag extends SimpleTagSupport {

  //自定義標(biāo)簽屬性,用于標(biāo)簽傳入?yún)?shù)

  private String uri;

  //接收標(biāo)簽傳入的參數(shù)

  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) {

  //用戶登陸判斷用戶權(quán)限

  List list = new ArrayList();

  //獲取用戶的角色

  Set role = user.getRole();

  for(Role r:role) {

  //獲取角色對(duì)應(yīng)的權(quán)限

  Set privilege = r.getPrivilege();

  for(Privilege p:privilege) {

  //獲取權(quán)限對(duì)應(yīng)的資源

  Set res = p.getResource();

  for(Resource re:res) {

  list.add(re.getUri());

  }

  }

  }

  for(String ur:list) {

  //判斷用戶的權(quán)限

  if(ur.equals(uri)) {

  this.getJspBody().invoke(null); //有權(quán)限輸出標(biāo)簽體內(nèi)容

  }

  }

  }

  }

  }

  2.在WEB-INF下創(chuàng)建tld文件描述標(biāo)簽。

  復(fù)制代碼 代碼如下:

  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.運(yùn)用標(biāo)簽

  在Jsp頁面導(dǎo)入標(biāo)簽:

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

  運(yùn)用標(biāo)簽:

  用戶管理

  用戶權(quán)限包含uri資源的將會(huì)輸出標(biāo)簽內(nèi)容。

【Java自定義簡單標(biāo)簽實(shí)例】相關(guān)文章:

java調(diào)用c函數(shù)的實(shí)例09-16

Java自定義范型的應(yīng)用技巧10-16

Java隊(duì)列類編寫實(shí)例09-05

java讀取解析xml文件實(shí)例08-05

Java中的多態(tài)用法實(shí)例分析10-23

Java的Struts框架中標(biāo)簽的使用方法07-29

java中通用的線程池實(shí)例代碼08-27

Java 異步回調(diào)機(jī)制實(shí)例解析08-22

java多線程同步塊實(shí)例講解素材08-28

有關(guān)Java開發(fā)中常用到For循環(huán)的實(shí)例05-31