jsp自定义标签应该如何接收数据?

时间:2014-10-03 14:34:02

标签: java jsp jsp-tags

我实现了自己的jsp自定义标记。 在它的正文中,我在数据库中找到了一些数据:

    public class CustomTag extends TagSupport {
         private LinkedList<User> sList = new LinkedList<Student>();

         @Override
         public int doStartTag() throws JspException {
           sList = new LinkedList<Student>(new myDao().findAll());
           JspWriter writer = pageContext.getOut();
          // try {....}
           //catch (Exception e) {
           return SKIP_BODY;
    }
}

但是,有人告诉我,这是一个不好的做法。 如何在自定义标记中提供一些数据?

1 个答案:

答案 0 :(得分:0)

也许你可以将参数传递给你的标签

<ns:mytag sampleParameter="Hello">

在你的标签中:

   public class CustomTag extends TagSupport {
         private LinkedList<User> sList = new LinkedList<Student>();
         private String sampleParameter;


         @Override
         public int doStartTag() throws JspException {

           LOGGER.info("Parameter : "+sampleParameter);


           sList = new LinkedList<Student>(new myDao().findAll());
           JspWriter writer = pageContext.getOut();
          // try {....}
           //catch (Exception e) {
           return SKIP_BODY;
    }

     public void setSampleParameter(String sampleParameter)
     {
       this.sampleParameter = sampleParameter;
     }

     public String getSampleParameter()
     {
       return sampleParameter;
     }
}

在这种情况下只是一个字符串,但它可以是任何东西。