首页 > 代码库 > JSF2 下 taglib 的问题

JSF2 下 taglib 的问题

在jsf1使用 taglib 定义 标签出现

The absolute uri: http://java.sun.com/jsf/core cannot be resolved in either web.xml or the jar files deployed with this application

的错误,后来修改成名称空间的方式就可以了

原因不明

<html xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
>

 

 

<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %>

<%@ taglib prefix="mytag" uri="http://www.hantongchao.com/tag/mytag" %>
<!--
  Created by IntelliJ IDEA.
  User: han
  Date: 14-2-26
  Time: ????1:32
-->
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
    //创建一个List对象
    List<String> a = new ArrayList<String>();
    a.add("hello");
    a.add("world");
    a.add("java");
    //将List对象放入page范围内
    pageContext.setAttribute("a" , a);
%>
<html xmlns:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html"
        >
  <head><title>Simple jsp page</title></head>
  <body>

  <f:view >
      <h:outputLabel value="http://www.mamicode.com/Hello, world"/>
      <mytag:date>time
  <table border="1" bgcolor="aaaadd" width="300">
  <tr>
      <td>${pageScope.a}</td>
      <td>${a}</td>
  <tr>
  </table>
  </mytag:date>
  </f:view>

  <table border="1" bgcolor="aaaadd" width="300">
      <!-- 使用迭代器标签,对a集合进行迭代 -->
      <mytag:iterator collection="a" item="item">
          <tr>
              <td>${pageScope.item}</td>
          <tr>

      </mytag:iterator>
  </table>
  <%
      //使用pageContext设置属性,该属性默认在page范围内
      pageContext.setAttribute("page","hello");
//使用request设置属性,该属性默认在request范围内
      request.setAttribute("request","hello");
//使用pageContext将属性设置在request范围中
      pageContext.setAttribute("request2","hello"
              , pageContext.REQUEST_SCOPE);
//使用session将属性设置在session范围中
      session.setAttribute("session","hello");
//使用pageContext将属性设置在session范围中
      pageContext.setAttribute("session2","hello"
              , pageContext.SESSION_SCOPE);
//使用application将属性设置在application范围中
      application.setAttribute("app","hello");
//使用pageContext将属性设置在application范围中
      pageContext.setAttribute("app2","hello"
              , pageContext.APPLICATION_SCOPE);
//下面获取各属性所在的范围:
      out.println("page变量所在范围:" +
              pageContext.getAttributesScope("page") + "<br>");
      out.println("request变量所在范围:" +
              pageContext.getAttributesScope("request") + "<br>");
      out.println("request2变量所在范围:"+
              pageContext.getAttributesScope("request2") + "<br>");
      out.println("session变量所在范围:" +
              pageContext.getAttributesScope("session") + "<br>");
      out.println("session2变量所在范围:" +
              pageContext.getAttributesScope("session2") + "<br>");
      out.println("app变量所在范围:" +
              pageContext.getAttributesScope("app") + "<br>");
      out.println("app2变量所在范围:" +
              pageContext.getAttributesScope("app2") + "<br>");
  %>
  </body>
</html>