@Ablechen
2019-07-12T02:28:18.000000Z
字数 4706
阅读 413
使用set标签的时候,设置的变量设置到page, request, session, application中
<c:set var=变量名 value=值 scope=变量的作用范围 />
<c:set var=变量名 scope=变量的作用范围>
标签体(填写变量的值)
</c:set>
<c:set target="目标对象" property="属性名" value="属性值" />
<c:set target="目标对象" property="属性名">
标签体(填写属性值)
</c:set>
目标对象可以是javaBean也可以是map集合
对于获取javaBean对象,可以使用EL表达式
<jsp:useBean id="实例名" class="pecage.class" scopr=作用域 />
<c:set target="${实例名}" property="属性名" value=属性值 />
属性名 = ${ 实例名.属性名 }
<c:remove var="变量名" scopr="作用范围" />
<c:if test="判断条件" var="变量名" scope="作用范围">
标签体
</c:if>
var中存放的是判断的结果, 是一个boolean类型的值, scope是这个变量的作用范围,标签体是这个判断条件为真的时候,执行的内容
类似于switch-case的标签
<c:choose>
<c:when test="判断条件">标签体</c:when>
<c:when test="判断条件">标签体</c:when>
<c:when test="判断条件">标签体</c:when>
<c:when test="判断条件">标签体</c:when>
<c:otherwise>标签体</c:otherwise>
</c:choose>
特别需要注意的是,items中的是"对象", 因此必须使用EL表达式,或者嵌入的java
forEach用于操作的对象多为集合和数组, 而forTokens用于操作的对象只能为字符串
<c:forEach items="操作对象" var="变量名" begin="开始位置" end="结束位置" step="步长">
标签体
</c:forEach>
<c:forTokens items="字符串对象" var="变量名" delims="分隔符(可以有多个)" begin="" end="" step="">
标签体
</c:forTokens>
<c:import url="文件路径" var="fileName" scope="作用范围" charEncoding="编码格式">
标签体
</c:import>
其中被导入的文件存放到了变量fileName中,使用的直接引用变量就可以了
<c:param name="参数名" value="参数值" />
主要用于不同页面之间传递参数,需要注意的是,这里传递的参数是param,不能使用EL标签来获得值,只能通过jsp的内置对象来获取
<c:url url="链接地址" var="name" scope="作用范围">
<c:param var="name" value="参数值" />用于在网页之间传递参数作为request.paramter
</c:url>
主要用作形成超链接的字符串
<c:redirect url="地址" />不带参数跳转
<c:redirect url="地址">
<c:param var="name" value="参数值" />
</c:redirect>
创建标签的作用类的时候,直接继承SimpleTagSupport,然后重写doTag()方法即可