Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Servlet/JSP/JSF/JavaFX Script  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
reply to postflat modethreaded modego to previous topicgo to next topicgo to back
作者 自定义标签的问题,老说我找不到setter方法?!
inyoung





发贴: 24
于 2005-09-08 23:00 user profilesend a private message to userreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
/WEB-INF/classes/MyTag.class被编译代码:

package test;
import java.io.*;
import javax.servlet.jsp.tagext.*;
import javax.servlet.jsp.*;
public class MyTag extends TagSupport{
  private Tag parent;
  private PageContext pageContext;
  String first;
  public int doStartTag(){
    return SKIP_BODY;
  }
  public void setFirst(String _first){this.first=_first;}
  public int doEndTag()throws JspException{
    try{
      JspWriter jw=pageContext.getOut();
      jw.print("this is your name is"+first);
    }catch(Exception e){
      throw new JspException("MyTag Error:"+e.getMessage());
    }    
    return SKIP_PAGE;
  }
  public void release(){}
  public void setParent(Tag t){
    parent=t;
  }
  public void setPageContext(PageContext pc){
    this.pageContext=pc;
  }
  public Tag getParent(){
    return parent;
  }

}


以下是CustomTag.tld文件:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE CustomTag 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>my</short-name>
     <uri>http://localhost:8080/MyTag</uri>
     <tag>
      <name>name</name>
      <tag-class>test.MyTag</tag-class>
      <body-content>empty</body-content>
      <attribute>
        <name>first</name>
        <required>true</required>
        <rtexprvalue>false</rtexprvalue>
      </attribute>

  </tag>
  </taglib>

页面中的调用:

<%@ page contentType="text/html; charset=GB2312" %>
<%@ taglib uri="/WEB-INF/CustomTag.tld" prefix="my" %>
<center>This is Custom Tag Test!</center><hr>
<my:name first="inyoung"/>

出现的错误:

org.apache.jasper.JasperException: /index.jsp(12,0) Unable to find setter method for attribute: first
  org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
  org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
  org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:150)
  org.apache.jasper.compiler.Generator$GenerateVisitor.evaluateAttribute(Generator.java:2677)
  org.apache.jasper.compiler.Generator$GenerateVisitor.generateSetters(Generator.java:2825)
  org.apache.jasper.compiler.Generator$GenerateVisitor.generateCustomStart(Generator.java:2158)
  org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1669)
  org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1441)
  org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
  org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
  org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219)
  org.apache.jasper.compiler.Node$Root.accept(Node.java:456)
  org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
  org.apache.jasper.compiler.Generator.generate(Generator.java:3272)
  org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:244)
  org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
  org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
  org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
  org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
  org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
  org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
  org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
  javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


为什么会这样?


inyoung edited on 2005-09-09 22:39


话题树型展开
人气 标题 作者 字数 发贴时间
4139 自定义标签的问题,老说我找不到setter方法?! inyoung 4747 2005-09-08 23:00
3517 Re:自定义标签的问题,求救! inyoung 22 2005-09-09 15:54
3154 Re:自定义标签的问题,老说我找不到setter方法?! why 114 2005-09-09 19:58
3586 Re:自定义标签的问题,老说我找不到setter方法?! inyoung 8 2005-09-09 20:11
3093 Re:自定义标签的问题,老说我找不到setter方法?! why 72 2005-09-09 21:29
3744 Re:自定义标签的问题,老说我找不到setter方法?! inyoung 27 2005-09-09 22:39

reply to postflat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923