好 我们继续来说格式化标签
parseNumber
它的作用是讲一个字符串 转换为指定格式的数值型
老实说 这东西 作为了解把
实际开发中都不是用得少 我建议还是在java端就处理好 不建议在jsp中高这种类型转换的操作
基本格式如下
这几个属性都是我们这几期jsp标签的老朋友了
我们可以先编写代码如下
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%request.setCharacterEncoding("UTF-8");%>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<!DOCTYPE html>
<html><head><title>JSP - Hello World</title></head><body><%request.setAttribute("numericalValue","100");%><fmt:parseNumber value="${numericalValue}"/> <br></body>
</html>
我们在jsp中 百分比java代码中声明了一个request作用域对象 叫numericalValue 值为 字符串类型的 100
然后 用parseNumber标签转换它
运行结果如下
看不出什么很明显的效果 但其实唯一的不同就是类型 parseNumber输出的这个是数字类型的 100
其实唯一的用处 或许是 将字符串转数字然后用var和scope将他声明到作用域中去写逻辑代码 但是 之前也说过不建议在jsp中写java代码 所以 这个东西不是一般的积累
然后 我们第二种写法 用type设置类型
我们编写代码如下
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%request.setCharacterEncoding("UTF-8");%>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<!DOCTYPE html>
<html><head><title>JSP - Hello World</title></head><body><%request.setAttribute("numericalValue","100");request.setAttribute("percentageValue","100%");%>number 默认值 不设置 type就是 number 表示将内容转为数字类型<br><fmt:parseNumber value="${numericalValue}" type="number"/> <br>percent 设置百分比格式的字符串<br><fmt:parseNumber value="${percentageValue}" type="percent"/> <br></body>
</html>
这里 我们作用域声明了两个值 100字符串类型 百分之100字符串类型
然后 我们 type处理number就是默认类型 还是字符串转数字
然后 percent 将百分比格式的字符串转数字
其实还有一个currency 但这东西问题挺大的 大家可以自己去试一下
运行结果如下
然后 var 和 scope都是老朋友了 这里我就不多说了