O2O工程用到自定义函数在页面取字典值,取用户信息。
EL表达式自定义函数
- 在WEB-INF下建立tlds文件夹,再建立xxx.tld文件,配置方法名(方法一定要是是静态的一定是静态的一定是静态的),方法对应的类,返回的参数类型和传入的参数
- 在jsp页面用
<@ taglib
引入 - 编写相应的类。
xxx.tld文件的编写
根标签<taglib>
下一级标签
<tlib-version>
<jsp-version>
<uri>
<function>
<function>
<name>sayHi</name>
<function-class>com.test.MyFunction</function-class>
<function-signature>java.lang.String sayHi(java.lang.String)</function-signature>
</function>
这是最简单的形式,对taglib
没有任何限制
jsp中的引用有两种方式
<%@ taglib prefix="fun" uri="http://hellojsp/function" %><!--引入在tld定义的uri-->
<@ taglib prefix="fun" uri="/WEB-INF/tlds/xxx.tld">
<!--引入绝对路径-->
head.jsp
uri随便写,反正用绝对路径。
jstl标签库
jstl也就是自定义函数
在页面只需要引入相应的标签就好
<@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"
jstl的核心标签库
- 通用标签库
- 条件标签
- 迭代标签
- 导入和重定向标签
<c:set var="ctx" value="${pageContext.request.contextPath}${fns:getAdminPath()}"/>
<c:set var="ctxStatic" value="${pageContext.request.contextPath}/static"/>
<c:set var="ctxEcop" value="${pageContext.request.contextPath}/ecop"/>
<c:set var="tfsUrl" value="${fns:getDictValue('STATIC_IMAGE_SERVER','STATIC_SERVER_PATH','')}"/
<c:if test="${tfFCardcoupons.cardStatus == '1'}">
<div>待审核</div>
</c:if>
<c:choose>
<c:when test="${tfFCardcoupons.cardStatus == '1'}">
<shiro:hasPermission name="o2o:cardcouponsManager:initEditCardcoupons">
<a class="btn blue" href="${ctx}/o2o/cardcouponsManager/initEditCardcoupons?cardId=${tfFCardcoupons.cardId}">编辑</a>
</shiro:hasPermission>
<%--<shiro:hasPermission name="o2o:cardcouponsManager:initAuditCardcoupons">--%>
<%--<a class="btn blue" href="${ctx}/o2o/cardcouponsManager/initAuditCardcoupons?cardId=${tfFCardcoupons.cardId}">审核</a>--%>
<%--</shiro:hasPermission>--%>
</c:when>
<c:when test="${tfFCardcoupons.cardStatus == '5'}">
<shiro:hasPermission name="o2o:cardcouponsManager:initEditCardcoupons">
<a class="btn blue" href="${ctx}/o2o/cardcouponsManager/initEditCardcoupons?cardId=${tfFCardcoupons.cardId}">编辑</a>
</shiro:hasPermission>
</c:when>
</c:choose>
<c:forEach items="${page.list}" var="tfFCardcoupons" varStatus="varStatus">
</c:forEach>
I18N标签库
1.formatNumber标签
2.formatDate标签
<td><div><fmt:formatDate value="${tfFCardcoupons.cardEndTime}" pattern="yyyy-MM-dd HH:mm:ss" /></div></td>
这些要会用.