JSP标准库标签 ———C标签

一、C标签
    一】 <c:out value="..." default="..." escapeXml="true">
            escapeXml:将value中的特殊符号进行转义。如果不指定为false,那么默认值为true。
            value:输出到浏览器中的值
            default:value值找不到时的默认值
        code:

            <c:out value="hello word!" />
            <%
                pageContext.setAttribute("username", "jack");
            %>
            <br />
            用户名:<c:out value="${username}" /> <br />
            用户名:<c:out value="${fdusername}" default="未知"/> <br />
            
            链接:<c:out value="<a href='#'>下载</a>" escapeXml="false" /> <br />
            链接:<c:out value="<a href='#'>下载</a>" escapeXml="true" />  <br />
            链接:<c:out value="<a href='#'>下载</a>" /> <br/>    

    


        
    二】<c:set var/value/scope/target/property>
         var: 有两成含义。变量名 和 存入域对象的名称。
         target和property是针对于javaBean的。

         code:

           <c:set var="name" value="杰克" scope="page"/>
            <c:out value="${name}" /> <br />

            <jsp:useBean id="user" class="com.suse.domain.User" scope="page" />
            <c:set target="${user}" property="userName" value="jack" />
            <c:out value="${user.userName}" /> <br />
            
            <%
                Map<String, Integer> map = new HashMap<String, Integer>();
                pageContext.setAttribute("map", map);
            %>
            <c:set target="${map}" property="key"  value="jack"/>
            <c:set target="${map}" property="value" value="7000"/>
            
            <c:out value="${map.key}" /> <br />
            <c:out value="${map.value}" />

 



    三】<c:remove />
        <c:remove var="varName" [scope="{page|request|session|application}"]>
        code:

            <c:set var="name" value="jack" scope="page" />
            <c:out value="${name}" default="未知" />
            <c:remove var="name" scope="page"/>
            <c:out value="${name}" default="未知" />

 



    四】<c:catch var="..">
            ...可能出错的代码
        </c:cath>
        var:会将错误信息封装在此

        code:

            <c:catch var="message">
                <%
                    int a = 10/0;
                %>
            </c:catch>
            <c:out value="${message}" default="无异常!" />

 



    五】<c:if var/test/scope >
            var:保存test属性的结果。true or false
            test:布尔值决定是否处理标签体中的内容
            scope:将test属性的结果保存到哪个域对象中。
        code:

            <c:if test="${25>16}" var="flag" scope="request">
                25>16
            </c:if>
            <jsp:forward page="value.jsp" />

 

    
    六】<c:choose>
            <c:when test="...">
                    。。。
            </c:when>
            <c:otherwise>
                    。。。
            </c:otherwise>
        </c:choose>

        **${param.age}  得到地址栏参数age的值

        code:

            <c:choose>
                <c:when test="${param.age > 16}">
                    你成年了
                </c:when>
                <c:otherwise>
                    你还未成年
                </c:otherwise>
            </c:choose>

 



    七】<c:forEach var/items/varStatus/begin/end/step> .. </c:forEach>

        var:将当前迭代到的元素保存到page这个域对象中的属性名称
        items:要进行迭代的的集合对象
        varStatus:是个page域对象。保存着此时迭代的信息。
                    属性:first:是否为第一个(true or false)  index:当前下标
                          count:计数          end:是否为最后一个(true or false)

        code:

            <%
              List<String> list = new ArrayList<String>();
              list.add("jack");
              list.add("merry");
              list.add("berry");
             list.add("xixi");
              list.add("sisi");
              request.setAttribute("list", list);
            %>
            <c:forEach var="item" items="${list}" varStatus="status">
                ${status.index} - ${item} - ${status.first} - ${status.last} - ${status.count} <br />
            </c:forEach>

 


            
    八】 <c:url var/value/scope>
    九】 <c:param name/value>
    十】<c:redirect url>
    十一】中文通过GET方式传参的乱码解决问题

             传统方式:
            <a href="/day17/c/value.jsp?country=<%=URLEncoder.encode("中国", "UTF-8")%>&age=21">
                传统方式传中文
            </a>
        JSTL标签方式:(<c:url>、<c:redirect>需要配合<c:param>联合使用)
            <c:url    var="myUrl" value="/c/value.jsp" scope="page">
                <c:param name="country" value="中国" />
                <c:param name="age" value="15" />
            </c:url>
            <a href="${myUrl}">JSTL标签传递中文方式</a>

 

posted on 2014-11-04 23:25  SkyGood  阅读(317)  评论(0编辑  收藏  举报