JSTL中的fn方法在页面中进行字符串的截取时,是非常有用的,在现在的产品开发中用到了该方法,因此在这里记录一下:
下面对fn:substring(str,beginIndex,endIndex)进行简单的说明:
这个方法应该不难理解,使用的时候需要注意的是:有时候需要从beginIndex开始截取到字符串结尾,但是无法确定endIndex是多少,可以将endIndex设置成一个负数(比如-1),这样就可以了。
c标签常用的还有两个:<c:forEach>、<c:if>
常规的用法我们都清楚,现在说一下结合下拉框的使用。
使用场合:在进行查询的时候,通常返回的查询页需要将查询条件显示出来,如果是inpuy框,很简单,但是如果是下拉列表,该怎么处理?
这个地方的下拉列表数据都是写死的,下面看一个下拉列表数据从数据库中取出的例子:
下面记录一个checkbox 的回显功能代码段:
<!--这里进行一个判断,如果name的长度大于7,显示名字...;
否则显示全名-->
<c:if test="${fn:length(name)>7}">
${fn:substring(name,0,6)}...
</c:if>
<c:if test="${fn:length(name)<=7}">
${name}
</c:if>
下面对fn:substring(str,beginIndex,endIndex)进行简单的说明:
这个方法应该不难理解,使用的时候需要注意的是:有时候需要从beginIndex开始截取到字符串结尾,但是无法确定endIndex是多少,可以将endIndex设置成一个负数(比如-1),这样就可以了。
c标签常用的还有两个:<c:forEach>、<c:if>
常规的用法我们都清楚,现在说一下结合下拉框的使用。
使用场合:在进行查询的时候,通常返回的查询页需要将查询条件显示出来,如果是inpuy框,很简单,但是如果是下拉列表,该怎么处理?
<select id="typeId" name="queryBean.taskType" >
<option value="0"
<c:if test="${queryBean.taskType eq 0}">selected</c:if>>
所有任务
</option>
<option value="1"
<c:if test="${queryBean.taskType eq 1}">selected</c:if>>
我执行的任务
</option>
<option value="2"
<c:if test="${queryBean.taskType eq 2}">selected</c:if>>
我布置的任务
</option>
<option value="3"
<c:if test="${queryBean.taskType eq 3}">selected</c:if>>
我查看的任务
</option>
<option value="4"
<c:if test="${queryBean.taskType eq 4}">selected</c:if>>
我配合的任务
</option>
</select>
这个地方的下拉列表数据都是写死的,下面看一个下拉列表数据从数据库中取出的例子:
<select id="statusId" name="queryBean.taskStatus" class="select_100">
<option value="">
请选择
</option>
<c:forEach var="s" items="${statusList}" varStatus="status">
<option value="${s.id }"
<c:if test="${s.id eq queryBean.taskStatus}">selected</c:if>>
${s.typeName }
</option>
</c:forEach>
</select>
下面记录一个checkbox 的回显功能代码段:
<s:iterator value="proTypeList" status="stu">
<input type="checkbox" id="${moduleTypeId }"
<c:if test="${checked }">checked</c:if> value="${moduleTypeId }"/>
<c:if test="${fn:length(moduleTypeName)<7}">
${moduleTypeName}
</c:if>
<c:if test="${fn:length(moduleTypeName)>=7}">
${fn:substring(moduleTypeName,0,6)}...
</c:if>
</s:iterator>