`

Struts2中s:set标签和s:if标签小结

 
阅读更多

 

 

引言:今天自己做一个B2C的小项目前端页面展示用到strut2标签,期间遇到一些小的问题,在网上查找,现总结如下:

1、  s:set标签

格式:<s:set name="" value="" scope=””/>

说明:把jsp页面中的一个值,以name存储起来。Scope存储的范围是在applicationsessionrequestpage……。默认是存储在该action中。

用法①:<s:set name="miloList" value="{‘java’,’php’,’C#’}"/>

这个值是一个list容器,迭代使用s:iterator标签,Noticelistset容器不加”#”map要加”#”;

用法②:<s:set name="miloNum" value="24"/>

Notice:这个是整形,如果value的值是intlong类型,那么就要在输出的时候加#,把它当作字符串输出,默认是以字符串输出.

输出:<s:property value="#miloNum"/>

那么如果value是字符串呢?

<s:set name="miloStr" value="’24’"/>

Notice:这个是字符串,value中的字符串要加上单引号(‘),这样才说明是字符串。

输出:<s:property value="miloStr"/>

用法③:用scope属性说明存储范围

request<s:set name="miloVal" value="'24'" scope="request"/>

输出:<s:property value="#request.miloVal"/>

session<s:set name="miloValvalue="'24'" scope="session"/>

      输出:<s:property value="#session.miloVal"/>

page<s:set name="miloVal" value="'24'" scope="page"/>

输出:<s:property value="#attr.minVal"/>

Noticeattr.***默认是从 page, request, session, then application scopes

 

2、  s:if标签

对于s:if标签的用法,我这里不做具体的说明,因为在网上都能查找到,而且在前面的Struts2 -- s:if标签的使用中已经说明过了,这里我只说明一下我在项目实践中遇到的问题,如下:

     假设在request中有个checkStatus属性(这里表示为审批状态),有这样一个需求,如果checkStatus的值为’00’表示未审批,’01’表示已审批,那么根据checkStatus的值,在页面上显示未审批或已审批。

我的页面代码如下:

<s:if test="#request.checkStatus == ‘00’"/>未审批</s:if>

<s:else>已审批</s:else>

按理说,这样应该能达到要求,但是结果往往不能如你所愿,我用了很多的表达式方法,都没能成功,最后我在Action处理checkStatus,将其转换为中文,然后直接在页面上输出,从中得到启示,原因是因为我的checkStatus的值是从数据库中取出来的,而在数据库中checkStatus的类型为Char(6),在数据库里面有这样的规定如果是char型,那么你定义的长度是多长就是多长,所以我在页面上用#request.checkStatus的长度也应该是6,’00’的长度显然为2,这两个值显然不相等,因此此问题的解决方法为:

法①在Action处理checkStatusStringtrim()方法;

法②修改数据库字段为varChar类型;

但个人认为,对于某个代码表示某些值如:’00’表示:否,’01’表示:是,应该建立一个分类代码表,在数据库中统一管理。

     s:sets:if的应用实例

<s:iterator value="#request['orderMap']" status="st">

<s:if test="checkSataus == '00'">

<s:set name="disabled" value="''" />

<s:if test="#st.index == 0">

<s:set name="checked" value="'checked'" />

</s:if>

<s:else>

<s:set name="checked" value="''" />

</s:else>

</s:if>

<s:else>

<s:set name="disabled" value="'disabled'" />

<s:set name="checked" value="''" />

</s:else>

 

<input type="radio" name="orderid" value='<s:property value="order.orderid"/>'

<s:property value="disabled"/> <s:property value="checked"/> />

</s: iterator>

 

分享到:
评论

相关推荐

    struts2 标签使用

    通过以上几个示例,我们可以看到 `&lt;s:if&gt;` 标签在 Struts2 中的应用是非常灵活和强大的。它可以用来实现各种复杂的逻辑判断,如数值比较、字符串匹配等。此外,结合其他标签如 `&lt;s:iterator&gt;`,可以实现更复杂的逻辑...

    struts2.0中s:datetimepicker标签使用范例

    在探讨《struts2.0中s:datetimepicker标签使用范例》这一主题时,我们首先需要理解struts2框架以及其内置的s:datetimepicker标签的用途与配置方法。Struts2是一个开源的Web应用框架,基于MVC(Model-View-Controller...

    struts2<s:if>使用心得

    本文通过具体的示例代码介绍了Struts2中`&lt;s:if&gt;`标签的使用方法,以及如何结合`&lt;s:set&gt;`标签设置变量进行条件判断。通过这种方式,我们可以实现动态网页的效果,提高用户体验。Struts2提供的这些功能强大且灵活,...

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

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

    对 Struts 2 的 s: iterator tag 中嵌套的所有 s: checkbox 进行全选、反选操作

    在这个场景中,我们关注的是`s:iterator`标签和`s:checkbox`的使用,它们是Struts 2 中视图层(JSP)的重要组件,用于迭代数据集合并呈现复选框。在Web应用中,用户经常需要进行全选和反选的操作,这通常在管理多个...

    解决struts2的s:checkbox显示难看问题

    在Struts2框架中,`s:checkbox`标签用于创建复选框,但在实际使用过程中,用户可能会遇到显示效果不理想的问题。这个问题通常涉及到样式、布局或者与其他UI组件的兼容性。本文将深入探讨如何解决Struts2的`s:...

    jsp 开发之struts2中s:select标签的使用

    本篇文章将详细介绍在Struts2中如何使用`s:select`标签,以及通过几个具体例子来展示其用法。 1. 第一个例子: ```jsp &lt;s:select list="{'aa','bb','cc'}" theme="simple" headerKey="00" headerValue="00"&gt;&lt;/s:...

    struts 2 s标签 struts 2 s标签

    这些只是Struts 2 S标签库中的一部分,实际上还有许多其他标签,如`s:textfield`(文本字段)、`s:textarea`(文本区域)、`s:submit`(提交按钮)等等,它们极大地简化了MVC模式中的视图层开发。通过合理使用这些...

    struts2标签大全

    16. **s:if标签**和**s:else标签**:条件判断,根据表达式的值决定是否渲染其内部的内容。 17. **s:choose标签**、**s:when标签**和**s:otherwise标签**:类似Java的switch语句,提供多分支选择。 18. **s:set标签...

    struts2的s标签

    ### Struts2中的S标签详解 #### 一、概述 Struts2框架是Apache软件基金会下的一个开源项目,它提供了一种基于MVC(Model-View-Controller)设计模式的Web应用开发框架。Struts2提供了丰富的标签库,其中“S标签”...

    struts2标签之列求和

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

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

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

    struts2 标签库 帮助文档

    struts2框架的标签库分为三类: 用户标签:生成HTML元素 非用户标签:数据访问、逻辑控制等。 AJAX标签:支持AJAX技术。 用户界面标签又分两类: 表单标签:生成HTML页面的from元素 非表单标签:生成页面上的...

    struts2标签库例子

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

    struts2-s标签

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

    struts2标签使用例子

    - `s:if` 和 `s:else`:条件判断标签,类似于Java中的if...else语句。 - `s:foreach`:遍历数组或集合,类似Java的for-each循环。 4. **Struts2 HTML标签库**: - `s:html`:提供HTML元素,如`&lt;html&gt;`、`&lt;head&gt;`...

    struts2 标签 s:optiontransferselect左右下拉列表的使用。

    在Struts2中,`s:optiontransferselect`是一个特殊的标签,用于创建具有双向选择功能的下拉列表,即“左列表”和“右列表”,用户可以在这两个列表之间转移选项,常用于多选场景。 **1. `s:optiontransferselect` ...

    Struts2标签列表及说明

    Struts2 标签列表及说明 Struts2 是一个基于 Java 语言的 Web 应用程序 Framework,它提供了许多标签来帮助开发者快速构建 Web 应用程序。下面是 Struts2 的标签列表及说明: A: * &lt;s:a&gt;:超链接,类似于 HTML ...

    Struts2标签库

    (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) &lt;s:textfield&gt;、&lt;s:password&gt;、&lt;s:checkbox&gt;、&lt;s:textarea&gt; (8) &lt;s:select&gt;、&lt;s:radio&gt;、&lt;s:checkboxlist&gt;

Global site tag (gtag.js) - Google Analytics