2008-11-18 23 views
1

我得到「此屬性不支持請求時間值。」同時編譯我的自定義jsp標記實現。JSPTag:例外 - 此屬性不支持請求時間值

我的TLD文件

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd"> 
<taglib> 
    <tlibversion>1.0</tlibversion> 
    <jspversion>1.1</jspversion> 
    <shortname>My Extension</shortname> 
    <info>Customization Extensions</info> 
    <tag> 
    <name>requireDisplay</name> 
    <tagclass>com.view.LinksTag</tagclass> 
    <teiclass>com.view.LinksTagExtraInfo</teiclass> 
    <bodycontent>JSP</bodycontent> 
    <info> My Tags Exercise 
    </info> 
    <attribute> 
     <name>viewID</name> 
     <required>true</required> 
     <rtexpvalue>true</rtexpvalue> 
    </attribute> 
    <attribute> 
     <name>viewType</name> 
     <required>true</required> 
     <rtexpvalue>true</rtexpvalue> 
    </attribute> 
</tag> 
</taglib> 

我的JSP標籤實現有以下方法

/** 
* doStartTag is called by the JSP container when the tag is encountered 
*/ 
public int doStartTag() throws JspException { 
    try { 
     JspWriter out = pageContext.getOut(); 
     out.println(getContent()); 
    } catch (Exception ex) { 
     throw new ElmsUncheckedException(ex); 
    } 
    // Must return SKIP_PAGE because we are done with the content. 
    return SKIP_BODY; 
} 

/** 
* getContent is called by the startTag to print the Request View button 
* contents. 
*/ 
private String getContent() { 
    String linkURL = ViewConstants.BASE_URL; 
    StringBuffer sbuffer = new StringBuffer(); 
    sbuffer.append("<form name=\"postView\" action=\"" + linkURL + "\" target=\"_blank\" method=\"POST\">\n"); 
    sbuffer.append("<input type=\"hidden\" name=\"ID\" value=\"" + viewID + "\" />\n"); 
    sbuffer.append("<input type=\"hidden\" name=\"Type\" value=\"" + viewType + "\" />\n"); 
    sbuffer.append("<tr>\n"); 
    sbuffer.append("<td class=\"BodyBG\">\n"); 
    sbuffer 
      .append("<button type=\"submit\" class=\"GridButton\" name=\"dispatch\" value=\"postView\">postView</button> \n"); 
    sbuffer.append("</td><td width=\"1\"></td>\n"); 
    sbuffer.append("</tr>\n"); 
    sbuffer.append("</form>\n"); 
    return sbuffer.toString(); 
} 

public int doEndTag() throws JspException { 
    resetVariables(); 
    return EVAL_PAGE; 
} 

我的JSP有以下

<%@ taglib uri="/WEB-INF/view.tld" prefix="cmd" %> 

..... 

<cmd:requireDisplay viewID="<%=vox.getViewID()%>" viewType="<%=vox.getViewType()%>"/> 

但我收到以下異常

[jspc] Error encountered while compiling 'jspURI' 
view_details.jsp:136:22: The required attribute "viewID" is missing. 

        <cmd:requireDisplay viewID="<%=vox.getViewID()%>" viewType="<%=vox.getViewType()%>"/> 

        ^----------------------^ 

view_details.jsp:136:22: The required attribute "viewType" is missing. 

        <cmd:requireDisplay viewID="<%=vox.getViewID()%>" viewType="<%=vox.getViewType()%>"/> 

        ^----------------------^ 

view_details.jsp:136:42: This attribute does not support request time values. 

        <cmd:requireDisplay viewID="<%=vox.getViewID()%>" viewType="<%=vox.getViewType()%>"/> 

                 ^---------^ 

view_details.jsp:136:57: This attribute does not support request time values. 

        <cmd:requireDisplay viewID="<%=vox.getViewID()%>" viewType="<%=vox.getViewType()%>"/> 

                                 ^----------^ 

我錯過了什麼?就像在tld中一樣,即使我也試着給TagExtraInfo。但沒有運氣。

任何幫助,非常感謝。

回答

2

我想出了這個問題。 這是一個錯字:(

<rtexpvalue>true</rtexpvalue> 

項假設是

<rtexprvalue>true</rtexprvalue> 
相關問題