`
renavatior
  • 浏览: 73184 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

struts2 标签<s:if/>使用总结

阅读更多
有以下片段:
  <td>
       <s:set name="actorRef" value="actorId" />
       <s:set name="taskName" value="name" />
       <s:if test="#actorRef=='' or #actorRef==null">共享任务(<a
         href="${pageContext.request.contextPath}/ga/changeTaskAssigment.action?taskInstanceId=<s:property value="id"/>" >我来处理</a>)</s:if>
       <s:elseif test='{#taskName == "受评对象准备评级资料"}'>
        <a href="${pageContext.request.contextPath}/ga/needModify.action?taskInstanceId=<s:property value="id"/>">准备资料</a>
       </s:elseif>
       
       <s:else>
       <s:property value="#taskName" />
       </s:else>
      </td>

其中  <s:elseif test='{#taskName == "受评对象准备评级资料"}'>为正确答案,但是如果
<s:if test="#taskName == '受评对象准备评级资料'">就不行,还有我试了
<s:property value="#taskName" />这个可以输出正确的值
原因总结可能是用property时候可以取出正确的值,但是在 test中就取不出值,这个要看源代码来确认。
可以参考http://www.blogjava.net/max/category/16130.html
如果换成 <s:elseif test="#taskName.equals('受评对象准备评级资料')">
这个也不行,(代码已测试)http://topic.csdn.net/u/20080328/11/43b8f534-d0cb-47c8-bb4d-383f7ebf972f.html
重大发现:上面的语句也是不对的,他只要第一个条件非空就进入第一<s:elseif test='{#taskName == "受评对象准备评级资料"}'> 正确的是:<s:elseif test='%{#taskName == "提交评委会资料"}'>
分享到:
评论
4 楼 wenjinglian 2010-04-02  

http://topic.csdn.net/u/20080328/11/43b8f534-d0cb-47c8-bb4d-383f7ebf972f.html
这个贴里讲行很清楚.第20楼:
s:if test="deptType==1" >下属</s:if>如果你的数据库对应的字段类型为整形,可以这样使用;

<s:if test="deptType=='1'" >下属</s:if>如果你的数据库对应的字段类型为char,可以这样使用;

<s:if test="deptType=='aa'" >下属</s:if>如果你的数据库对应的字段类型为varchar,并且数据库中的字符串都是多余一个字符的字符串,可以这样使用;

<s:if test="deptType==\"1\"" >下属</s:if><s:else>直属</s:else>(测试通过,这样用是最正确的)
3 楼 zhx831121 2010-01-28  
    
2 楼 zhx831121 2010-01-28  
{#taskName == "受评对象准备评级资料"}表示数组吧
1 楼 jeelee 2009-12-28  
<s:iterator value="menus" status="st" id="menuID">
<tr>
   <td id="rownum"><s:property value= '#st.index+1' /></td>
<td><s:property value="mainKind" /></td>
<td><s:property value="subKind" /></td>
<td><s:if test='{#stopRmk=="1"}'><s:checkbox name="stoprmk" value="true" /></s:if><s:else><s:checkbox name="stoprmk" /></s:else><s:property value="stopRmk" /></td>
  </tr>
</s:iterator>

我的为什么不行?无论stopRmk是否等于"1",checkbox始终是选中状态的?

相关推荐

    struts2 标签使用

    ### Struts2 `&lt;s:if&gt;` 标签使用详解 #### 概述 Struts2 是一款基于 Java 的企业级 Web 应用框架,它利用了 MVC(Model-View-Controller)架构模式来帮助开发者构建可扩展、易于维护的 Web 应用程序。在 Struts2 中...

    struts2<s:if>使用心得

    本篇文章将深入解析这段代码所涉及的关键知识点,并通过实际案例帮助理解如何使用Struts2中的`&lt;s:if&gt;`标签进行逻辑控制。 ### Struts2概述 Struts2是基于MVC设计模式的Web应用开发框架,它提供了丰富的标签库以及...

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

    在Struts2框架中,`&lt;s:if&gt;`标签被广泛应用于页面上根据不同的条件显示或隐藏某些元素。它的工作原理是基于表达式的结果来决定是否渲染其内部的HTML代码。当涉及到对String类型的对象属性值与单个字符进行比较时,...

    Strust2的if-else <tr></tr>用法

    此外,Struts2还提供了`&lt;s:if&gt;`和`&lt;s:else&gt;`的嵌套使用,可以实现更复杂的条件判断逻辑。同时,可以使用`&lt;s:choose&gt;`, `&lt;s:when&gt;`, 和 `&lt;s:otherwise&gt;`标签来创建类似于switch-case的结构: ```jsp &lt;s:choose&gt; &lt;s:...

    Struts2标签 UI标志又可以分为表单UI和非表单UI两部分

    - `&lt;s:if&gt;`、`&lt;s:elseif&gt;` 和 `&lt;s:else&gt;` 标签用于实现条件判断逻辑。 - 示例: ```xml &lt;s:if test="%{testBoolean}"&gt; &lt;p&gt;这是显示的内容&lt;/p&gt; &lt;/s:if&gt; &lt;s:elseif test="%{testBoolean == false}"&gt; &lt;p&gt;这是另...

    struts2标签库例子

    例如:&lt;s:append id="myAppendIterator"&gt; &lt;s:param value="%{myList1}" /&gt; &lt;s:param value="%{myList2}" /&gt; &lt;s:param value="%{myList3}" /&gt;&lt;/s:append&gt;&lt;s:iterator value="%{#myAppendIterator}"&gt; &lt;s:property /&gt;&lt;/...

    struts2的s标签

    要在JSP页面中使用Struts2的S标签,首先需要在页面顶部添加如下声明: ```jsp &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; ``` 这行代码的作用是将Struts2提供的标签库导入到当前JSP页面中,并指定前缀为“s”。...

    struts2 标签库 帮助文档

    &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; 就能使用struts2.0的标签库 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. 2. &lt;s:a href=""&gt;&lt;/s:a&gt;-----超链接,类似于html里的&lt;a&gt;&lt;/a&gt; 3. &lt;s:...

    Struts2全部标签使用说明

    以上只是Struts2标签库的一部分,实际使用中还有更多标签如`&lt;s:textfield&gt;`(文本输入框)、`&lt;s:textarea&gt;`(文本区域)、`&lt;s:submit&gt;`(提交按钮)等,每个都有其特定的用途,极大地简化了JSP页面的编写。...

    Struts2标签库

    &lt;%@ taglib uri="/struts-tags" prefix="s" %&gt; 结合例子,重点掌握以下标签的用法 (1) &lt;s:property&gt; (2) &lt;s:set&gt; (3) &lt;s:if&gt; 、&lt;s:elseif&gt;、&lt;s:else&gt; (4) &lt;s:iterator&gt; (5) &lt;s:include&gt; (6) &lt;s:form&gt;、&lt;s:hidden&gt; (7...

    struts2-s标签

    而在 Struts2 中,所有的标签都被统一管理,并通过在 JSP 文件头部声明 `&lt;%@ taglib prefix="s" uri="/struts-tags" %&gt;` 来启用 Struts2 的标签库。这种方式简化了开发过程中的配置工作,使得开发者可以更加专注于...

    struts2标签之列求和

    通过以上分析可知,利用Struts2的`&lt;s:iterator&gt;`和`&lt;s:set&gt;`标签,我们可以很方便地实现对列表数据的迭代显示及数值求和功能。这种方法不仅简化了后端代码逻辑,也使得前端页面更加灵活和动态。这对于处理大量数据时...

    struts2标签的使用代码

    除了迭代输出,Struts2还提供了一些辅助标签处理集合数据,如`&lt;s:if&gt;`、`&lt;s:else&gt;`、`&lt;s:foreach&gt;`等。例如,检查集合是否为空: ```jsp &lt;s:if test="#users.isEmpty()"&gt; 没有用户数据 &lt;/s:if&gt; &lt;s:else&gt; 用户数据...

    Struts2标签列表及说明

    * &lt;s:generator&gt;:和 &lt;s:iterator&gt; 标签一起使用 H: * &lt;s:head&gt;:在 &lt;head&gt;&lt;/head&gt; 里使用,表示头文件结束 * &lt;s:hidden&gt;:隐藏值 I: * &lt;s:i18n&gt;:加载资源包到值堆栈 * &lt;s:include&gt;:包含一个输出,servlet ...

    Struts2标签详解及具体实例解析

    `&lt;s:elseif&gt;` 条件判断标签 - **用途**:与`s:if`配合使用,进行多条件判断。 - **示例代码**: ```xml &lt;s:if test="%{#age &gt; 18}"&gt; 成年人 &lt;/s:if&gt; &lt;s:elseif test="%{#age &lt;= 18}"&gt; 未成年人 &lt;/s:elseif&gt; ...

    struts2标签详解与实例

    这个例子展示了如何使用Struts2的`&lt;s:form&gt;`、`&lt;s:textfield&gt;`、`&lt;s:password&gt;`、`&lt;s:email&gt;`和`&lt;s:fielderror&gt;`标签创建一个包含用户输入验证的注册表单。 五、源码与工具 理解Struts2标签的实现原理,可以查看其...

    struts2标签库

    与Struts1相比,Struts2的`&lt;s:a&gt;`标签支持更多的参数设置,如可以设置href、params等属性,使得链接的生成更加灵活。 - **`&lt;s:action&gt;`**:用于执行Action,类似于Struts1中的`&lt;s:send&gt;`标签。但Struts2的`&lt;s:...

    struts2标签大全

    在JSP中,我们通常使用`&lt;%@ taglib prefix="s" uri="/struts-tags" %&gt;`来引入Struts2的标签库。下面将详细介绍一些重要的Struts2标签及其功能。 **A. 超链接和Action标签** - `&lt;s:a href=""&gt;&lt;/s:a&gt;`:创建一个...

Global site tag (gtag.js) - Google Analytics