技术开发 频道

注释在J2EE5.0中的完美应用



三、在JSP和标签库中使用注释
 
    在显示业display.jsp中,调用了JSP标签库中的一个动作,并将属性EJB_MESSAGE作为一个参数传入HttpServletRequest。下面是display.jsp的部分代码:
 
   <%@taglib prefix="di"
       uri="http://java.sun.com/techtip/webann/test-taglib"%>
   ...
     <di:displayInfo ejbMessage="${requestScope.EJB_MESSAGE}"/>
   ...
 
    上面所使用的标签将从ejbMessage参数中读取值,并将这个值显示在HTML中。而且它会这数据源打印出登录超时。下面是标签处理类似部分代码:

   public class DisplayInfoTagHandler extends SimpleTagSupport {
  
      private @Resource(name="jdbc/__default") DataSource ds;
      ...
 
      public void doTag() throws JspException, IOException {
         try {
             JspWriter out = getJspContext().getOut();
             int timeout = ds.getLoginTimeout();
             if (ejbMessage != null && ejbMessage.length() > 0)
             {
                 out.println(
                     "<li> Ejb Message: " + ejbMessage);
             }
             out.println(
                 "<li> DataSource login timeout: " + timeout);
         ...
      }
      public void setEjbMessage(String ejbMessage) {
         this.ejbMessage = ejbMessage;
      }
   }
 
    上面代码中的@Resource注释在标签类中使用JNDI"jdbc/__default"来查询DataSource。这个JNDI名对应于默认的数据库。如果我们想访问数据库连接,可以在tag处理类中加入ds.getConnection()。
0
相关文章