今天遇到一个很奇怪的问题 <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\")的写法了.
分享到:
相关推荐
在这个例子中,我们首先使用 `<s:set>` 标签将一个字符串 `"China"` 设置到了一个名为 `country` 的变量中,然后使用 `<s:if>` 标签进行条件判断。如果 `country` 的值等于 `"China"`,则会显示 `"This is China!"`...
Struts标签是Apache Jakarta Struts框架中的一部分,用于简化Java Web应用程序开发中的视图层构建。Struts标签库提供了一组预定义的JSP标签,这些标签有助于开发者更有效地处理常见的Web开发任务,如表单处理、数据...
Struts2 提供了一个强大的标签库,用于简化 Web 应用程序的开发过程。这些标签可以分为两类:通用标签和 UI 标签。下面,我们将详细介绍 Struts2 标签库的使用。 4.1 通用标签 通用标签用来控制页面的执行过程,并...
### Struts2中`s:if`标签用于判断String类型的对象属性值和单字符是否相等的问题解析 在Struts2框架中,`<s:if>`标签被广泛应用于页面上根据不同的条件显示或隐藏某些元素。它的工作原理是基于表达式的结果来决定...
* bean:struts:将一个 Struts 的 acción 绑定到 page 作用域中,以便其它标签可以使用该值。 * bean:write:将一个 bean 的值写到页面上。 HTML Tags HTML Tags 是 Struts 中的 HTML 标签库,包含的标签可以用来...
Struts2标签库是Java开发Web应用程序时常用的一个强大工具,尤其在构建MVC(Model-View-Controller)架构的应用程序中发挥着重要作用。Struts2框架提供了丰富的自定义标签库,极大地简化了视图层的开发,使得开发者...
Struts2是一个强大的MVC框架,它提供了丰富的标签库,使得开发者在编写JSP页面时能够更加方便地处理业务逻辑和展示数据。本篇文章主要关注Struts2中的常用标签,这些标签大大简化了Web开发中的一些常见任务。 首先...
4. **tiles标签**:Tiles是Struts的一个可选模块,提供了一种组织和重用页面布局的方法。`<tiles:insert>`标签用于插入一个定义在Tiles定义文件中的组件,`<tiles:put>`标签则用于定义组件的属性。 5. **nested标签...
JSTL,另一方面,是一个标准的标签库,由多个子库组成,包括核心、XML、SQL和函数库。核心库提供了处理条件语句、循环、URL重写等通用功能的标签。例如,`<c:if>`用于条件判断,`<c:forEach>`用于迭代数组或集合,`...
在压缩包中的"example"文件可能包含了一个或多个使用Struts2标签的实际示例,可以参考这些示例来理解和学习Struts2标签的用法。通过实践,你会更好地掌握这些标签的功能和用法,从而在开发过程中更加得心应手。
个人开发时遇到的struts标签的if标签是,将其功能遗忘,可以用来巩固记忆
2. **控制标签**:如`s:if`、`s:iterator`等,提供了条件判断和循环控制。这些标签允许在JSP页面上实现逻辑控制,使得页面代码更加清晰。 3. **数据标签**:如`s:property`、`s:label`等,用于显示和操作数据。它们...
4. **Struts2标签详细用法**:`s:if`和`s:else`用于条件判断,`s:foreach`处理循环,`s:action`执行Action,`s:include`包含其他JSP页面,`s:submit`提交表单等。每个标签都有其特定的属性和用法,理解并熟练使用...
Struts框架是Java Web开发中的一个经典工具,它遵循MVC(Model-View-Controller)设计模式,帮助开发者构建可维护性和可扩展性高的应用。Struts提供了丰富的标签库,使得在JSP页面中处理业务逻辑变得更加简洁。例如...
在`teststruts2`项目中,我们可能会有一个名为`CustomTagExampleAction`的Action类,它处理与自定义标签相关的业务逻辑。然后,在结果页面(比如`result.jsp`)中,我们可以这样使用自定义标签: ```jsp ...
总结起来,这个Struts2实例项目通过整合国际化、类型转换和Struts2标签,构建了一个完整的用户管理系统,展示了如何在实际开发中高效地处理Web请求,实现业务逻辑,并提供多语言支持。这样的练习有助于提升开发者对...
Struts标签库包括表单标签、HTML标签、逻辑控制标签等,极大地提高了开发效率。 #### 常用JSTL标签概述 ##### 1. EL(Expression Language) EL(表达式语言)是一种在JSP页面中用于访问数据的语言,它允许开发者...
ValueStack是Struts2框架中的核心概念,它是一个对象栈,包含了Action对象、模型对象以及不同作用域的固定名称对象(如#application、#session、#request等)。值栈使得标签库可以直接访问对象,而不需要在视图层和...
自定义标签是 JSP 页面中的一个强大工具,它们允许开发者定义自己的标签库,这些标签可以封装复杂的逻辑或者重复使用的功能,使 JSP 页面更加简洁。在 Struts 中,我们可以通过实现 `org.apache.struts.taglib.Tag` ...
Struts1.2标签是Java Web开发中Struts框架的一部分,它提供了一种在JSP页面中更加便捷、可维护的方式来处理业务逻辑和控制流程。Struts1.2标签库大大简化了视图层的开发,使开发者可以避免过多地在JSP中编写Java脚本...