今天用struts2的if标签作一个判断,死活到不了if里面,代码如下:
<s:if test="namePinYin == 'a'">hello</s:if>
页面也不报错,而且也测试了namePinYin的确等于a
后来发现服务器报了个NumberFormatException,信息如下:
Caught an exception while evaluating expression 'namePinYin == 'a'' against value stack
java.lang.NumberFormatException: For input string: "a"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1224)
google了一下,发现问题其实很简单,namePinYin是个字符串,test的时候需要这样写:
<s:if test='namePinYin == "a"'>hello</s:if>
照这样看,单引号可能会用于比较数字类型,详细可以查看一下官方的faq:
http://struts.apache.org/2.x/docs/why-wont-the-if-tag-evaluate-a-one-char-string.html
<s:if test="aStringProperty == 'A'">
Why doesn't this work when myString is equal to A?
</s:if>
<s:if test='aStringProperty == "A"'>
This works!
</s:if>
分享到:
相关推荐
Struts2是一个强大的MVC框架,它在处理用户请求时提供了丰富的功能,其中包括类型转换(Converter)。类型转换是Struts2框架中一个重要的特性,它允许我们把前端表单提交的数据自动转换为后端Java对象的属性。在这个...
Struts2作为一款流行的Java Web框架,其在处理表单数据和模型对象之间的转换时,提供了强大的类型转换机制。在默认情况下,Struts2能够自动处理基本类型和简单类型的转换,但当我们需要对复杂的数据类型或者自定义...
在Struts2框架的应用中,经常会出现各种类型的异常,其中一种常见的异常便是数字格式异常(`NumberFormatException`)。这种异常通常发生在应用程序尝试将非数字字符串转换为数字类型(如`Integer`或`Double`)时。 ...
### Struts2错误集合解析与解决方案 #### 一、类型转换异常:`java.lang.ClassCastException` **问题描述**: 在尝试从session中获取一个整型数值时,由于类型不匹配导致了`ClassCastException`。 **代码示例**:...
if (str.matches("\\d+") && str.length() (Integer.MAX_VALUE).length()) { int num = Integer.parseInt(str); } else { System.out.println("超出int范围,无法转换"); } ``` 4. **异常处理**:虽然不推荐...
Struts2是一个非常流行的Java Web框架,用于构建和维护可扩展且易于管理的企业级应用程序。在Struts2中,类型转换是处理用户输入数据时的一个关键功能,它允许框架自动将HTTP请求参数(如字符串)转换为Java对象的...
其次,对于无法预先验证的场景,代码示例2展示了捕获NumberFormatException异常的方法。这里,尝试将字符串直接转换为整数,通过try-catch块捕获可能出现的NumberFormatException,并在异常发生时输出错误信息。这种...
NumberFormatException是一个在Java编程中常见的运行时异常,它属于java.lang.NumberFormatException类。这种异常通常会在尝试将字符串转换为整数、长整型、浮点数、双精度浮点数或其他数字类型时发生,当字符串的...
NumberFormatException是Java中一个常见的运行时异常,它属于java.lang.NumberFormatException类。当应用程序试图将字符串转换成数字时,如果字符串的格式不正确,就会抛出这个异常。比如使用Integer.parseInt(), ...
在validate()方法中,我们可以用`try-catch`块来捕获`NumberFormatException`,以确保输入是数字。 2. **Action类**:在CalculatorAction类中,实现validate()方法,计算两个数字的结果,并检查是否符合预期的数学...
3. 在用户输入转换时未处理非法字符,可能触发NumberFormatException,应使用try-catch处理异常。 4. 使用substring()、charAt()等方法不当,可能导致StringIndexOutOfBoundsException,需进行边界检查。 5. 类路径...
NumberFormatException是Java程序中经常遇到的一个异常问题,当字符串与数字之间的转换出现问题时就会抛出此异常。该问题主要发生在使用整型类如Integer、Float等的parseInt或parseFloat方法时,将字符串转换为整数...
2. 使用try-catch语句捕获异常。在将非数字类型的数据强制转换为数字类型时,使用try-catch语句捕获异常,并在catch块中处理该异常。 案例分析 例如,在某个Web项目中,我们需要将String类型的数据强制转换为...
2. 在处理从文件或网络获取的数据时,增加数据格式校验步骤。 3. 提供友好的错误提示信息,指导用户进行正确的输入,或在后台程序中记录错误日志,以便后续分析问题源头。 4. 在多线程环境中,确保线程安全,防止因...