Research of JSTL - part of experiment
1. Assign to a value and test by itself:
<c:set value="${customers}" var="xxxx" scope="page"/>
<c:if test="${xxxx!=null}">
<c:remove var="xxxx"/>
2. To judge a attribute or object and if it’s a null or null string
<c:if test="${customer.address.line2!=null && customer.address.line2!=''}">
,<c:out value="${customer.address.line2}"/>
</c:if>
3. Setting a value then for control operation using condition of the If in the ForEach
<c:forEach var="item" begin="1" end="10">
<c:set var="isLess5" value="${item<5}"/>
<c:if test="${isLess5}"><font color="red"></c:if>
<c:out value="${item}"/>
<c:if test="${isLess5}"></font></c:if>
<br/>
</c:forEach>
4. To set a attribut in whatever using Request,Session or Application,but only the Application can impact the ServletContextAttributeListener
<%session.setAttribute("key","fff");%>
you can access it using method,below:
<c:out value="${key}"/>
5. How can you do when the web.xml have mutli-Listener
<web-app>
<listener>
<listener-class>com.server.InitListener</listener-class>
</listener>
<listener>
<listener-class>com.server.AttributeListener</listener-class>
</listener>
6. Using JSTL create a collection
<%--
please adds this code
<c_rt:set var="tests" value="<%=new java.util.HashMap()%>"/>
--%>
<%request.setAttribute("tests",new java.util.HashMap());%>
7. Setting the property,target and assign to a collection
<c:set var="name" value="Micro"/>
<c:set target="${tests}" property="name">
Hi <c:out value="${name}"/>
<br/>
<%=" I'm not available."%>
</c:set>
<c:set value="I love you" target="${tests}" property="ccccc"/>
<c:set value="I love you1" target="${tests}" property="ddddd"/>
8. To test and out the collection (include escapeXml method)
<c:out value="${tests.length}"/>
You didn't get the value using this method.
<c:forEach items="${tests}" var="test" varStatus="status">
<br/>
<c:out value="${status.count}"/>
{<c:out value="${status.index}"/>}
:
<c:out value="${test.value}" escapeXml="false"/>
</c:forEach>
<c:remove var="tests"/>
<!-- the results -->
You didn't get the value using this method.
1 {0} : I love you
2 {1} : I love you1
3 {2} : Hi Micro
I'm not available. Maurice:Richard
9. What do you need for using Xml target in jdk1.4
Jaxen-full.jar
Jaxp-api.jar
10. What do you need for using Sql target
Jdbc2_0-stdext.jar
<x:parse var="a" >
<?xml version="1.0" encoding="GBK"?>
<a>
<b><c>{中国人}</c></b>
<d>bar</d>
</a>
</x:parse>
<c:out value="${a}"/>
<x:out select="$a//c"/>
<x:out select="$a/a/d"/>
<!-- the results -->
[#document: null] {ÖйúÈË} bar
11. To note have different results
Don’t out: <c:import url="response.xml" var="ccc"/>
Out: <c:import url="response.xml" />
12. Use xml from a importing xml
<%@ taglib prefix="xm" uri="http://java.sun.com/jstl/xml" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<c:import url="response.xml" var="ccc"/>
<xm:parse var="data" xml="${ccc}"/>
<c:out value="${data}"/>
<xm:out select="$data//*"/>