`
dingdangxiaoma
  • 浏览: 71576 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

webwork if test

阅读更多
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
分享到:
评论

相关推荐

    WebWork ww标签

    &lt;option value="&lt;ww:property value="id"/&gt;"&lt;ww:if test="%{id==model.belong}"&gt;selected&lt;/ww:if&gt;&gt;&lt;ww:property value="lb"/&gt;&lt;/option&gt; ``` 在这个例子中,`&lt;ww:iterator&gt;`遍历`sortBigList`集合,对于每个元素...

    Webwork标签库CHM

    `&lt;ww:if test="user.isAdmin"/&gt;`将会在用户是管理员的情况下执行其内的代码块。 标签库的另一个重要方面是标签库描述符文件(TLD,Tag Library Descriptor)。在WebWork中,TLD文件通常位于WEB-INF目录下,它们定义...

    J2EE企业级项目开发-1期 02 Struts2+Web常使用功能的经验.doc

    例如,可以使用`&lt;s:if test="%{price &gt; 100}" &gt;`来判断商品价格是否超过100元。而`#`在OGNL中有多种用途,它可以用来访问ActionContext中的属性,如`parameters`、`request`、`session`等,这为开发者提供了方便的...

    struts2.0

    &lt;s:elseif test="%{true}"&gt; 会被执行 &lt;/s:elseif&gt; 不会被执行 ``` ##### 4.2 `elseIf`标签 - **描述**:`elseIf`标签的行为与`if`标签类似,用于多个条件判断。 - **示例**:见上文`if`标签示例。 #####...

    webwrok iterator标签status属性使用方法

    - `&lt;tr class="&lt;ww:if test="#status.even"&gt;row-even&lt;/ww:if&gt;&lt;ww:else&gt;row-odd&lt;/ww:else&gt;"&gt;`:根据当前项索引的奇偶性设置表格行的背景色。 - `&lt;td&gt;&lt;ww:property value="@item, propertyName"/&gt;&lt;/td&gt;`:显示每个对象...

    freemarker命令简介

    - **WebWork 集成**:如果使用 WebWork 框架,则需要注意与 Freemarker 的集成。 #### 5. 总结 Freemarker 提供了丰富的功能集,通过各种指令和内置方法支持灵活的文本生成需求。理解这些指令和方法的应用场景对于...

    webwrok iterator标签status属性使用方法.doc

    &lt;tr class="&lt;ww:if test="#status.even"&gt;row-even&lt;/ww:if&gt; &lt;ww:else&gt;row-odd&lt;/ww:else&gt;"&gt; &lt;td&gt;&lt;ww:property value=""/&gt; ``` 这段代码中,`resultList`是一个待遍历的数据集合。在每次迭代时,`&lt;tr&gt;`标签的`...

    struts2基本标签用法

    Struts2是一个开源的Web应用框架,它继承了Struts框架的传统设计,同时结合了WebWork、DWR等优秀框架的优点,提供了丰富的标签库来简化Web应用的开发过程。本文将详细解析Struts2标签的基本用法,涵盖从变量设置到...

    freemarker总结

    这是一个典型的分支控制指令,该指令的作用完全类似于Java语言中的if,if指令的语法格式如下: &lt;#if condition&gt;... &lt;#elseif condition&gt;... &lt;#elseif condition&gt;... &lt;#else&gt; ... &lt;/#if&gt; 例子如下: &lt;#if (age&gt;...

    很有用的java试题

    Struts2的核心是Webwork框架的思想与Struts1的精华结合,提供了一种强大的、灵活的处理用户请求的方式。下面我们将深入探讨Struts2的工作原理及其validate框架的数据验证机制。 **一、Struts2的工作原理** 1. **...

    企业级ssh架构教程

    - 示例:`&lt;s:if test="%{#session.user != null}"&gt;Welcome, ${user.name}&lt;/s:if&gt;`。 - **Iterator Tag** - 用于遍历集合或数组。 - 参数:`value`(指定要遍历的对象)、`var`(用于存储当前迭代项的变量名)。 ...

    牧紫小岩的Spring学习笔记pdf

    5. **Spring Web/WebMVC**:提供了构建Web应用的支持,包括对Servlet API的封装、MVC框架的实现等,能够与Struts、WebWork等其他Web框架很好地协同工作。 6. **Spring Context**:提供了对Swing、EJB等外部框架的...

Global site tag (gtag.js) - Google Analytics