`
wtnhwbb
  • 浏览: 166043 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts中if等条件标签中String和Char的一个小陷阱

阅读更多
今天遇到一个很奇怪的问题 <c:  test="${item.type = ='1'}"   ||   <s: "${item.type = ='1'}"  判断 char  变量 老不正确
后改成 <s:  test="${item.type} = =1"
<c:if 判断一个char类型的字段怎么也不正确后来查了一下=""> 转 http://www.jscud.com/srun/news/viewhtml/4_2005_1/26.htm
</c:if>

WebWork中if等条件标签中String和Char的一个小陷阱

本文仅用来提醒在WebWork的条件标签使用时要注意String和Char的区别.一个很简单的问题.

假设你的Action中有一个字段,例如叫name,那么对应的方法是:

JAVA代码

public String getName()
{
return name;
)


通常,你的WebWork的视图文件中,如果用到字段比较时,例如if,else等,写法通常如下:

<ww:if test="name.equals(’a’)">OK</ww:if>



如果你的名字是 a 那么结果会怎么样哪? 结果是没有打印出OK来,这是为什么哪?

但是如果你的name是2个字符或者更多,那么就会出来正确的结果了.

<ww:if test="name.equals(’abc’)">OK</ww:if>



看一下下面的Action中的部分代码,你应该也就会明白了吧.

public char getMyChar()
{
return ’a’;
}

public String getHello()
{
return "a";
}


在看看jsp中的代码:


hello<br>
<ww:if test="’a’.equals(’a’)">World<!---->ww:if>
<br>
I am <ww:property value="hello" />,and test <ww:if test="hello.equals(\"a\")">OK<!---->ww:if>
<br>
I am <ww:property value="myChar" />,and test <ww:if test="myChar.equals(’a’)">OK<!---->ww:if >


这个问题是个容易忽略的问题,往往是想不到,所以遇到此问题时还真是很着急.解决后,觉得太简单了.可能还是Java基本功不好吧 :)

如果你的变量肯定是一个字母,那就用char,如果不一定,那就只好用hello.equals(\"a\")的写法了.

分享到:
评论

相关推荐

    struts2 标签使用

    在这个例子中,我们首先使用 `&lt;s:set&gt;` 标签将一个字符串 `"China"` 设置到了一个名为 `country` 的变量中,然后使用 `&lt;s:if&gt;` 标签进行条件判断。如果 `country` 的值等于 `"China"`,则会显示 `"This is China!"`...

    struts标签 struts标签 struts标签

    Struts标签是Apache Jakarta Struts框架中的一部分,用于简化Java Web应用程序开发中的视图层构建。Struts标签库提供了一组预定义的JSP标签,这些标签有助于开发者更有效地处理常见的Web开发任务,如表单处理、数据...

    struts2标签库例子

    Struts2 提供了一个强大的标签库,用于简化 Web 应用程序的开发过程。这些标签可以分为两类:通用标签和 UI 标签。下面,我们将详细介绍 Struts2 标签库的使用。 4.1 通用标签 通用标签用来控制页面的执行过程,并...

    Struts2标签 s:if test 判断String类型的对象属性值和单字符是否相等的问题

    ### Struts2中`s:if`标签用于判断String类型的对象属性值和单字符是否相等的问题解析 在Struts2框架中,`&lt;s:if&gt;`标签被广泛应用于页面上根据不同的条件显示或隐藏某些元素。它的工作原理是基于表达式的结果来决定...

    struts1标签库详解

    * bean:struts:将一个 Struts 的 acción 绑定到 page 作用域中,以便其它标签可以使用该值。 * bean:write:将一个 bean 的值写到页面上。 HTML Tags HTML Tags 是 Struts 中的 HTML 标签库,包含的标签可以用来...

    Struts标签库 Struts 标签库

    Struts2标签库是Java开发Web应用程序时常用的一个强大工具,尤其在构建MVC(Model-View-Controller)架构的应用程序中发挥着重要作用。Struts2框架提供了丰富的自定义标签库,极大地简化了视图层的开发,使得开发者...

    Struts2常用标签

    Struts2是一个强大的MVC框架,它提供了丰富的标签库,使得开发者在编写JSP页面时能够更加方便地处理业务逻辑和展示数据。本篇文章主要关注Struts2中的常用标签,这些标签大大简化了Web开发中的一些常见任务。 首先...

    struts标签中文手册,struts标签中文手册,struts标签中文手册

    4. **tiles标签**:Tiles是Struts的一个可选模块,提供了一种组织和重用页面布局的方法。`&lt;tiles:insert&gt;`标签用于插入一个定义在Tiles定义文件中的组件,`&lt;tiles:put&gt;`标签则用于定义组件的属性。 5. **nested标签...

    Struts标签 和jstl标签

    JSTL,另一方面,是一个标准的标签库,由多个子库组成,包括核心、XML、SQL和函数库。核心库提供了处理条件语句、循环、URL重写等通用功能的标签。例如,`&lt;c:if&gt;`用于条件判断,`&lt;c:forEach&gt;`用于迭代数组或集合,`...

    struts2标签使用例子

    在压缩包中的"example"文件可能包含了一个或多个使用Struts2标签的实际示例,可以参考这些示例来理解和学习Struts2标签的用法。通过实践,你会更好地掌握这些标签的功能和用法,从而在开发过程中更加得心应手。

    struts的if标签

    个人开发时遇到的struts标签的if标签是,将其功能遗忘,可以用来巩固记忆

    Struts2标签中文文档(html和chm格式)

    2. **控制标签**:如`s:if`、`s:iterator`等,提供了条件判断和循环控制。这些标签允许在JSP页面上实现逻辑控制,使得页面代码更加清晰。 3. **数据标签**:如`s:property`、`s:label`等,用于显示和操作数据。它们...

    Struts2源码和标签使用和配置

    4. **Struts2标签详细用法**:`s:if`和`s:else`用于条件判断,`s:foreach`处理循环,`s:action`执行Action,`s:include`包含其他JSP页面,`s:submit`提交表单等。每个标签都有其特定的属性和用法,理解并熟练使用...

    图像加法&struts用法标签大全

    Struts框架是Java Web开发中的一个经典工具,它遵循MVC(Model-View-Controller)设计模式,帮助开发者构建可维护性和可扩展性高的应用。Struts提供了丰富的标签库,使得在JSP页面中处理业务逻辑变得更加简洁。例如...

    struts2 自定义标签

    在`teststruts2`项目中,我们可能会有一个名为`CustomTagExampleAction`的Action类,它处理与自定义标签相关的业务逻辑。然后,在结果页面(比如`result.jsp`)中,我们可以这样使用自定义标签: ```jsp ...

    Struts2实例 国际化 类型转换 struts标签

    总结起来,这个Struts2实例项目通过整合国际化、类型转换和Struts2标签,构建了一个完整的用户管理系统,展示了如何在实际开发中高效地处理Web请求,实现业务逻辑,并提供多语言支持。这样的练习有助于提升开发者对...

    jstl和struts标签

    Struts标签库包括表单标签、HTML标签、逻辑控制标签等,极大地提高了开发效率。 #### 常用JSTL标签概述 ##### 1. EL(Expression Language) EL(表达式语言)是一种在JSP页面中用于访问数据的语言,它允许开发者...

    struts2标签库

    ValueStack是Struts2框架中的核心概念,它是一个对象栈,包含了Action对象、模型对象以及不同作用域的固定名称对象(如#application、#session、#request等)。值栈使得标签库可以直接访问对象,而不需要在视图层和...

    struts实现自定义标签

    自定义标签是 JSP 页面中的一个强大工具,它们允许开发者定义自己的标签库,这些标签可以封装复杂的逻辑或者重复使用的功能,使 JSP 页面更加简洁。在 Struts 中,我们可以通过实现 `org.apache.struts.taglib.Tag` ...

    struts1.2标签实例

    Struts1.2标签是Java Web开发中Struts框架的一部分,它提供了一种在JSP页面中更加便捷、可维护的方式来处理业务逻辑和控制流程。Struts1.2标签库大大简化了视图层的开发,使开发者可以避免过多地在JSP中编写Java脚本...

Global site tag (gtag.js) - Google Analytics