WebWork中if等条件标签中String和Char的一个小陷阱 ( 2005-01-22 ) 返回 WebWork文章
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\")的写法了.
创造共用协议:署名,非商业,保持一致 除经特别注明外,本文章版权归JScud Develop团队或其作者所有.
署名,非商业用途,保持一致. scud(飞云小侠) JScud Develop
分享到:
相关推荐
<option value="<ww:property value="id"/>"<ww:if test="%{id==model.belong}">selected</ww:if>><ww:property value="lb"/></option> ``` 在这个例子中,`<ww:iterator>`遍历`sortBigList`集合,对于每个元素...
`<ww:if test="user.isAdmin"/>`将会在用户是管理员的情况下执行其内的代码块。 标签库的另一个重要方面是标签库描述符文件(TLD,Tag Library Descriptor)。在WebWork中,TLD文件通常位于WEB-INF目录下,它们定义...
例如,可以使用`<s:if test="%{price > 100}" >`来判断商品价格是否超过100元。而`#`在OGNL中有多种用途,它可以用来访问ActionContext中的属性,如`parameters`、`request`、`session`等,这为开发者提供了方便的...
<s:elseif test="%{true}"> 会被执行 </s:elseif> 不会被执行 ``` ##### 4.2 `elseIf`标签 - **描述**:`elseIf`标签的行为与`if`标签类似,用于多个条件判断。 - **示例**:见上文`if`标签示例。 #####...
- `<tr class="<ww:if test="#status.even">row-even</ww:if><ww:else>row-odd</ww:else>">`:根据当前项索引的奇偶性设置表格行的背景色。 - `<td><ww:property value="@item, propertyName"/></td>`:显示每个对象...
- **WebWork 集成**:如果使用 WebWork 框架,则需要注意与 Freemarker 的集成。 #### 5. 总结 Freemarker 提供了丰富的功能集,通过各种指令和内置方法支持灵活的文本生成需求。理解这些指令和方法的应用场景对于...
<tr class="<ww:if test="#status.even">row-even</ww:if> <ww:else>row-odd</ww:else>"> <td><ww:property value=""/> ``` 这段代码中,`resultList`是一个待遍历的数据集合。在每次迭代时,`<tr>`标签的`...
Struts2是一个开源的Web应用框架,它继承了Struts框架的传统设计,同时结合了WebWork、DWR等优秀框架的优点,提供了丰富的标签库来简化Web应用的开发过程。本文将详细解析Struts2标签的基本用法,涵盖从变量设置到...
这是一个典型的分支控制指令,该指令的作用完全类似于Java语言中的if,if指令的语法格式如下: <#if condition>... <#elseif condition>... <#elseif condition>... <#else> ... </#if> 例子如下: <#if (age>...
Struts2的核心是Webwork框架的思想与Struts1的精华结合,提供了一种强大的、灵活的处理用户请求的方式。下面我们将深入探讨Struts2的工作原理及其validate框架的数据验证机制。 **一、Struts2的工作原理** 1. **...
- 示例:`<s:if test="%{#session.user != null}">Welcome, ${user.name}</s:if>`。 - **Iterator Tag** - 用于遍历集合或数组。 - 参数:`value`(指定要遍历的对象)、`var`(用于存储当前迭代项的变量名)。 ...
5. **Spring Web/WebMVC**:提供了构建Web应用的支持,包括对Servlet API的封装、MVC框架的实现等,能够与Struts、WebWork等其他Web框架很好地协同工作。 6. **Spring Context**:提供了对Swing、EJB等外部框架的...