實戰練習之Jsp自定義標籤
實現JSP自定義標籤分以下幾步:
1、完成自定義標籤的方法(實現主要的業務邏輯)。
2、配置tld檔案。
3、在jsp頁面引用標籤。
程式碼如下:
標籤實現類UserInfoTag.java,繼承TagSupport,重寫doStartTag()方法。在該方法中實現主要的業務邏輯。
package org.springboot.tag;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
public class UserInfoTag extends TagSupport{
public User user = null;
@Override
public int doStartTag() throws JspException{
try{
JspWriter out = this.pageContext.getOut();
out.println("尊敬的使用者 "+user.getUserName()+"您好!
");
}catch(Exception e){
throw new JspException(e.getMessage());
}
return SKIP_BODY;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
自定義標籤配置檔案uum.tld
UUM JSP Form Tag Library 1.0 form uum <!-- 可以自定義 -->userTag <!-- 標籤名稱 -->org.springboot.tag.UserInfoTag <!-- 實現方法的位置 -->empty user <!-- 入參名稱 -->false <!-- 該入參是否必須 -->true
引用自定義標籤的jsp檔案 ,userTag.jsp
自定義標籤
<!-- 變數名稱和變數型別要和標籤的實現方法中匹配 -->
自定義標籤的展示過程可以理解為,當瀏覽器解讀該JSP頁面時,到引用自定義標籤的地方會根據標籤的uri和標籤名找到對應在tld中的實現方法,執行自定義標籤的實現方法,就會看到最後的結果。
一般的WEB專案可以直接訪問引用的jsp頁面就可以看到效果,即
因為用的是springBoot框架,所以要增加一個截去請求的跳轉方法,跳轉到相應的jsp頁面。
UserTagController.java
package org.springboot.simple.controller;
import java.io.IOException;
import java.util.ArrayList;
import org.springboot.tag.User;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class PageController {
@RequestMapping("/sayHello")//請求名稱
public ModelAndView userTag() {
//跳轉頁面路徑
ModelAndView mav = new ModelAndView("/userTag");
//定義引數
User user = new User();
user.setUserName("呦呦米");
//將引數傳到jsp頁面
mav.addObject("user", user);
return mav;
}
}
還有一個用到的User.java實體,練習的時候可以不用實體,直接用字串,在userTag.java中定義 String userName; 並生成get(),set()方法,更簡單。
package org.springboot.tag;
public class User {
public String userName;
public String id;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
瀏覽器輸入 ,效果如下:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4289/viewspace-2798485/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- jsp自定義標籤系列之---用法實力JS
- JSP第六篇【自定義標籤之傳統標籤】JS
- JSP 自定義標籤介紹JS
- JSP自定義標籤之三:為標籤新增屬性JS
- JSP自定義標籤就是如此簡單JS
- jsp如何自定義tag的標籤庫?JS
- JSP自定義標籤系列---rtexprvalue屬性JS
- ViewPager之標籤的自定義Viewpager
- jsp的三種自定義標籤 寫法示例JS
- 自定義標籤【迭代標籤】薦
- Android自定義控制元件之自定義ViewGroup實現標籤雲Android控制元件View
- 自定義標籤FlowTagLayout
- ThinkPHP自定義標籤PHP
- java自定義標籤Java
- JSP自定義標籤開發+TLD檔案元素詳解JS
- 使用自定義tld標籤簡化jsp的繁瑣操作JS
- 擴充spring元件之自定義標籤Spring元件
- spring 自定義標籤Spring
- 建立自定義標籤庫
- jQuery Mobile 自定義標籤jQuery
- JUnit5學習之五:標籤(Tag)和自定義註解
- 關於自定義標籤庫
- 有關自定義標籤庫
- HTML標籤練習(1)HTML
- 深入淺出自定義標籤(三)操作標籤體薦
- 08.Django自定義模板,自定義標籤和自定義過濾器Django過濾器
- 【14】vue.js — 自定義標籤Vue.js
- 自定義分頁標籤詳解
- spring2自定義標籤Spring
- 自定義標籤出現問題
- spring原始碼深度解析— IOC 之 自定義標籤解析Spring原始碼
- jQuery自定義標籤程式碼例項jQuery
- 自定義View事件之進階篇(四)-自定義Behavior實戰View事件
- Android 自定義 View 實戰之 PuzzleViewAndroidView
- Android 自定義 View 實戰之 StickerViewAndroidView
- jsp標籤jsp:useBean用法JSBean
- 強化學習實戰 | 自定義Gym環境之掃雷強化學習
- Eclipse預設標籤TODO,XXX,FIXME和自定義標籤Eclipse