文字 太長 用 省略符號 表示 標題 太長 加省略符號

來源:互聯網
上載者:User

heardyTag.tld

<?xml version="1.0" encoding="UTF-8"?><br /><!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd"><br /><taglib><br /><tlibversion>1.0</tlibversion><br /><jspversion>1.1</jspversion><br /><shortname>page</shortname><br /><tag><br /><name>hello</name><br /><tagclass>heardy.MyTag</tagclass><br /><bodycontent>JSP</bodycontent></p><p><attribute><br /><name>maxlength</name><br /><required>false</required><!-- 是否為可選屬性 --><br /><rtexprvalue>true</rtexprvalue><!-- 是否接受JSP表達示計算結果 --><br /></attribute><br /></tag><br /></taglib>

 

MyTag.java

package heardy;</p><p>import java.io.IOException;</p><p>import javax.servlet.jsp.JspException;<br />import javax.servlet.jsp.JspWriter;<br />import javax.servlet.jsp.tagext.BodyTagSupport;<br />import javax.servlet.jsp.tagext.TagSupport;</p><p>public class MyTag extends BodyTagSupport {<br /> /**<br /> *<br /> */<br /> private static final long serialVersionUID = 167634601069545267L;<br /> private String maxlength = "10";<br /> private String info;</p><p> public String getMaxlength() {<br /> return maxlength;<br /> }</p><p> public void setMaxlength(String maxlength) {<br /> this.maxlength = maxlength;<br /> }</p><p> public String getInfo() {<br /> return info;<br /> }</p><p> public void setInfo(String info) {<br /> this.info = info;<br /> }</p><p> @Override<br /> public int doEndTag() throws JspException {<br /> JspWriter out = pageContext.getOut(); // pageContext對象以被容器初始化<br /> try {<br /> out.print(getInfo());<br /> } catch (IOException e) {<br /> e.printStackTrace();<br /> }<br /> return TagSupport.EVAL_PAGE; // 繼續處理其他頁面內容</p><p> }</p><p> @Override<br /> public int doStartTag() throws JspException {<br /> try {<br /> pageContext.getOut().print("");<br /> } catch (IOException e) {<br /> e.printStackTrace();<br /> }<br /> return TagSupport.EVAL_BODY_AGAIN; // 標籤開始要處理標籤對中內容</p><p> }</p><p> @Override<br /> public int doAfterBody() throws JspException {<br /> if (bodyContent.getString().length() > Integer.parseInt(getMaxlength()<br /> .trim()))<br /> setInfo("<div title=/""<br /> + bodyContent.getString()<br /> + "/">"<br /> + bodyContent.getString().substring(0,<br /> Integer.parseInt(getMaxlength().trim())) + "...</div>");<br /> else {<br /> setInfo("<div>" + bodyContent.getString() + "</div>");<br /> }<br /> return TagSupport.SKIP_BODY;<br /> }</p><p>}<br />

 

index.jsp

<%@ page language="java" pageEncoding="UTF-8"%><br /><%@ taglib uri="/WEB-INF/heardyTag.tld" prefix="heardy"%><br /><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><br /><html><br /><head><br /><title>My JSP 'index' starting page</title><br /><meta http-equiv="pragma" content="no-cache"><br /><meta http-equiv="cache-control" content="no-cache"><br /><meta http-equiv="expires" content="0"><br /><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><br /><meta http-equiv="description" content="This is my page"><br /></head><br /><body><br /><heardy:hello maxlength="5">after</heardy:hello><br /><heardy:hello maxlength="10">afterafterafterafterafter</heardy:hello><br /><heardy:hello maxlength="5">這個比較長需要截取</heardy:hello><br /><heardy:hello maxlength="5">af</heardy:hello><br /></body><br /></html><br />

 

 

可以不指定maxlength長度 預設是10

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.