Java-カスタムラベル
カスタムラベルはプロジェクトで非常に役立ち、使用も簡単です.作成と使用手順を見てみましょう.
一、クラスを作成してBodyTagSupportを継承する
二、WEB-INFフォルダの下にtldsフォルダを作成し、tldファイルを作成する(接尾辞は.tldで、フォーマットは実はxmlである)
三、web.xmlの構成
四、JSPインタフェースにラベルを導入する
五、ラベルにEL式を支持させる
EL式をサポートする必要があるプロパティを変更するには、次のようにします.
属性の説明:
最初にtagを表す名前は、el式の取得エラー時に使用されます.一般的には属性名と同じです.
2番目の要求文字列は、通常、入力オブジェクトのtoStringメソッドを簡単に呼び出します.
3つ目はクラスで、通常はObject.classを使用します.
4つ目はthisでいいです.
5つ目はpageContext変数です.
注意:1、tldファイルのラベル属性のrtexprvalueはtrueに設定します.2、ついでにJSTLに必要なバッグがあるかどうかをチェックします.
一、クラスを作成してBodyTagSupportを継承する
package com.main.movie.tag;
import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.BodyTagSupport;
/**
*
* @author main
*
*/
@SuppressWarnings("serial")
public class UIPageTag extends BodyTagSupport {
private int page;
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public int doStartTag() throws JspException {
StringBuffer html = new StringBuffer();
html.append("<a href='#' onclick='Tabs.changePage(\"admin/admin_adminManager?page=" + (page+1) + "\")'> </a>");
try {
System.out.println(html.toString());
pageContext.getOut().print(html.toString());
} catch (IOException e) {
e.printStackTrace();
}
return EVAL_PAGE;
}
}
二、WEB-INFフォルダの下にtldsフォルダを作成し、tldファイルを作成する(接尾辞は.tldで、フォーマットは実はxmlである)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>movie-admin</short-name>
<tag>
<name>uiPage</name>
<tag-class>com.main.movie.tag.UIPageTag</tag-class>
<attribute>
<name>page</name>
<required>true</required>
</attribute>
</tag>
</taglib>
三、web.xmlの構成
<jsp-config>
<taglib>
<taglib-uri>/movie-admin</taglib-uri>
<taglib-location>/WEB-INF/tlds/movie-admin.tld</taglib-location>
</taglib>
</jsp-config>
四、JSPインタフェースにラベルを導入する
<%@ taglib uri="/WEB-INF/tlds/movie-admin.tld" prefix="family" %>
五、ラベルにEL式を支持させる
EL式をサポートする必要があるプロパティを変更するには、次のようにします.
public void setValue(Object value)throws JspException {
this.value = ExpressionEvaluatorManager.evaluate(
"value", value.toString(), Object.class, this, pageContext);
}
属性の説明:
最初にtagを表す名前は、el式の取得エラー時に使用されます.一般的には属性名と同じです.
2番目の要求文字列は、通常、入力オブジェクトのtoStringメソッドを簡単に呼び出します.
3つ目はクラスで、通常はObject.classを使用します.
4つ目はthisでいいです.
5つ目はpageContext変数です.
注意:1、tldファイルのラベル属性のrtexprvalueはtrueに設定します.2、ついでにJSTLに必要なバッグがあるかどうかをチェックします.