1.<c:out value='${param.user}' escapeXml='true' default='guest' />
value便是要输出的值;
escapeXml默认属性为true,当c:out标记没有escapeXml时,等同于设置为true。如果你认为可能遇到一些需要显示而不只是呈现的XML实体时,可以将这个属性设置为true,这表示所有XML都将转换为web浏览器能呈现的形式,包括尖括号和所有XML内容。
default属性设置一个默认值,提供表达式计算为null时你希望打印的值。
2.<c:foreach var="movie" items="${movieList}" ><tr><td>${movie}</td></tr></c:foreach>
这个标记完全可以对应于for循环,对于集合中的每个元素,都可以执行一边标记的体。
标记将集合movieList中的每一个元素赋给你用var声明的这个变量movie。这个标记还有begin,end,step属性 。
3.<c:if test="${userType eq 'member'}">.......</c:if>
当测试结果为true时显示体内内容。
4.<c:choose>和<c:when>和<c:otherwise>
<c:choose>
<c:when test="第一种结果">
//执行第一种处理
</c:when>
<c:when test="第二种结果">
//执行第二种处理
</c:when>
<c:when test="第三种结果">
//执行第三种处理
</c:when>
<c:otherwise>
//执行其他情况处理结果
</c:otherwise>
</c:choose>
5.<c:remove var="userStatus" scope="request" />
使用这个标记来删除一个变量,var属性是一个String直接量,不能是表达式,scope是可选的,如果没有指定作用域,就会从所有作用域删除这个属性。
6.<c:set>
这个标记有两个不同的设置:var和target。
var版本用来设置属性变量,target版本用来设置bean性质或map值。这两个版本都有两种形式:有体或者没有体。
<c:set>设置属性变量var
没有体<c:set var="userLevel" scope="session" value="Cowboy" />
scope是可选的(如果没有指定,就会按顺序在页面作用域,请求作用域,会话,应用),var是必须的。必须指定一个值,不过既可以放入一个value属性,也可以把值放在标记体中。
如果没有一个名为userLevel的会话作用域,这个标记就会创建一个这样的属性。value值不必为String。
有体<c:set var="userLevel" scope="session" >
sheriff,Bartender,Cowgirl
</c:set>
对bean和map使用<c:set>
没有体<c:set target="${PetMap}" property="daoName" value="Clover" />
target的目标不能为null,如果目标是一个Map,则设置dogname键的相应值,如果目标是一个bean,就设置性质dogname的值。
有体<c:set target="${person}" property="name" >
${foo.name}
</c:set>
target必须计算为一个对象,不能键入bean或map属性的id名
7.<c:import url="http://www.xxx.com/xxx/xxx.html"
这个标记将一个资源的内容增加到一个jsp中。动态的,在请求时将url属性值指定的内容增加到当前页面,它与<jsp:include>非常相似,但更加强大,也更灵活。
它的url可以来自web容器范围之外。
8.<c:url value='/inputComments.jsp' />
这会在value相对的url的最后增加jsessionid(如果禁用了cookie),在使用会话时用到。
9.<c:catch var="myException"> <% int x = 10/0; %> </c:catch>
这个标记类似于try/catch,捕获异常而不触发错误页面。一旦触发异常,就会跳至这个标记体的最后。
var="myException"会创建一个新的页面作用域属性,名为myException,并把异常对象赋给这个变量。
捕获到异常后可以输出异常的一些内容,如:${myException.message}