备份
Hello all,
I'm trying to get the integer portion of the ceiling of a number using
JSTL 1.2 fmt tags on Tomcat 6.x, JavaSE 6.x.
So, if my number is 1.2 , the result expected is 2 (no fractions) or
if my number is 1.6 the result wanted is 2
In JavaSE 6 this can be accomplished with NumberFormat
http://java.sun.com/javase/6/docs/api/java/text/NumberFormat.html
NumberFormat nf = NumberFormat.getIntegerInstance();
nf.setRoundingMode(RoundingMode.CEILING);
nf.isParseIntegerOnly();
out.println(nf.format(1.2d));
Math.ceil(1.2d) gives 2.0
I tried the following with JSTL fmt tags,
<fmt:formatNumber value="${1.2}" type="number" pattern="#"/> gives 1
<fmt:formatNumber value="${1.6}" type="number" pattern="#"/> gives 2
<fmt:parseNumber value="${1.2}" type="number" integerOnly="true"/> gives 1
<fmt:parseNumber value="${1.6}" type="number" integerOnly="true"/> gives 1
The fmt:formatNumber or fmt:parsNumber do not have a roundingMode
attribute http://java.sun.com/products/jsp/jstl/1.1/docs/tlddocs/fmt/formatNumber.html
,
This gives:
<c:set var="mynum"><%=Math.ceil(1.2d)%></c:set>
<fmt:formatNumber value="${mynum}" type="number" pattern="#"/>
the expected result 2 .
Or the ceiling (and other rounding modes) could be accomplished with a
custom tag.
I wish the fmt:formatNumber and fmt:parseNumber provide the
roundingMode attribute.
分享到:
相关推荐
- `<c:convert>`:数据类型转换,如日期、数字等。 **7. JSTL与Servlet的关系** 虽然JSTL简化了JSP页面的逻辑,但仍然可能需要使用Servlet来处理复杂的业务逻辑或数据处理。Servlet负责接收请求,处理数据,然后将...
- 更少的错误:JSTL 标签比 JSP 脚本更不易出错,因为它们受到严格的类型检查和编译。 8. **注意事项** - 避免在 JSP 页面中混合使用 JSTL 和 Scriplets,以保持代码整洁。 - 在生产环境中,确保正确配置 JSTL ...
这个jar文件通常被添加到项目的编译类路径(classpath)中,这样编译器就可以识别JSTL相关的代码,并进行类型检查。开发者通过导入这些接口,可以在JSP页面中使用JSTL标签。 **jstl-impl-1.2.jar** 是JSTL的具体...
Function库提供了一些预定义的函数,可以与EL(Expression Language)一起使用,以增强表达式语言的功能,如字符串操作(`fn:length()`、`fn:split()`)和类型转换(`fn:toUpperCase()`、`fn:toLowerCase()`)。...
2. **XML Processing**:专门用于处理XML数据,包括读取、解析、转换等操作。前缀为`x`,默认URI为`http://java.sun.com/jstl/xml`。 3. **Internationalization and Formatting**:简称I18N,主要用于国际化和格式...
EL 可以自动转换类型,当 EL 得到某个数据时可以自动转换类型,这使得开发人员可以更方便地访问页面内容。相比在 JSP 中嵌入 Java 代码,EL 应用更简单。 EL 访问作用域包括 pageScope、requestScope、sessionScope...
例如,EL可以自动将`request.getParameter("key")`的返回值转换为适当的数据类型,简化了开发流程。 **JSTL 1.1与JSTL 1.0的区别**: JSTL 1.1增加了对Servlet 2.4和JSP 2.0规范的支持,同时JSP容器可以直接解析EL...
JSTL(JavaServer Pages Standard Tag Library)是Java Web开发中的一个标准标签库,它提供了一系列的标签来...通过这种方式,开发者可以轻松地将数据库中的数据转换为用户友好的Excel文件,供用户下载或进一步分析。
`value`属性包含一个表达式:如`<c:out value="" />`,其中`value`属性中的表达式会被计算,并按照类型转换规则赋值给`value`属性。 2. `value`属性包含一个或多个属性,这些属性被文本分隔或包围:如`...
在JSTL中,`EL(Expression Language)`是用于访问JavaBeans属性和其他Java对象的数据的表达式语言。 ### EL表达式 **基本格式** EL表达式通常以美元符号 `$` 开头,包裹在花括号 `{}` 中,如 `${expression}`。它...
EL是一种类似于JavaScript的表达式语言,它可以自动进行类型转换,从而减少了开发人员在编写代码时需要考虑的数据类型问题。例如,在使用EL从作用域中获取参数时,无需显式地指定类型,EL会自动完成必要的类型转换。...
EL表达式语言借鉴了JavaScript的多类型转换无关性的特点,支持在不进行显式类型转换的情况下从各种不同的上下文中获取数据。在Web应用中,服务器通常会将请求参数作为字符串发送,而在Java代码中需要使用这些参数时...
例如,它支持方法调用、类型转换和集合操作,提高了JSP页面的表达能力。 将这两个库添加到项目中,可以极大地提升代码的可读性和可维护性。传统的JSP页面中充斥着脚本片段,而通过使用JSTL标签,我们可以将业务逻辑...
例如,当从请求范围(request scope)获取参数时,EL会自动处理类型转换,无需开发者手动进行。下面是一个简单的EL表达式示例: ```jsp ; charset=UTF-8"%> <!DOCTYPE ...
这部分主要包含一些常用的字符串处理和类型转换函数,如`fn:substring`、`fn:length`、`fn:split`等,它们可以与EL(Expression Language)一起使用,增强页面表达能力。 **EL(Expression Language):** EL是JSP ...
Functions标签库提供了多个内置函数,用于字符串和数据类型的操作,如: - **fn:length**:返回字符串的长度。 - **fn:contains** 和 **fn:containsIgnoreCase**:检查一个字符串是否包含另一个字符串,区分大小写...
- **遍历集合**:通过`<c:forEach>`标签遍历数组、列表或其他集合类型的数据,展示学生列表或课程列表。 - **条件判断**:使用`<c:if>`和`<c:choose>`结构实现条件逻辑,例如检查用户是否登录、角色权限等。 - **URL...