`
liufeng_king
  • 浏览: 35594 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

struts2 标签 <s:set> <s:if>

    博客分类:
  • java
阅读更多

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

2010-07-08 01:53:21|  分类: struts2|字号 订阅

 

 引言:今天自己做一个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>

 

2010-07-08

 

分享到:
评论

相关推荐

    struts2 标签使用

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

    struts2<s:if>使用心得

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

    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标签库

    (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) &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:...

    struts2的s标签

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

    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标签库前,需要在JSP页面中引入相应的标签库,通常使用`&lt;%@taglib&gt;`指令,如`&lt;%@taglib uri="/struts-tags" prefix="s"%&gt;`。对于Servlet2.3之前的版本,可能还需要在web.xml中配置标签库的定义,但...

    struts2标签之列求和

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

    struts2-s标签

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

    Struts2全部标签使用说明

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

    Struts2标签集锦(附Struts2标签详解word文档)

    8. **主题和皮肤标签(Theme and Skin Tags)**:Struts2提供了多种主题和皮肤,通过`&lt;s:set&gt;`和`&lt;s:theme&gt;`标签可以改变页面的外观。 在实际使用中,Struts2标签的灵活性和便利性体现在数据绑定上,它可以直接与...

    struts2标签大全

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

    struts2标签说明.doc

    Struts2的`&lt;s:i18n&gt;`标签用于加载资源包,支持国际化。例如: ```jsp &lt;s:i18n name="com.example.resources.AppMessages"&gt; &lt;s:text name="greeting" /&gt; &lt;/s:i18n&gt; ``` 这里,`name`属性指定资源包路径,`s:...

    Struts2常用标签及说明

    2. 使用`&lt;s:property&gt;`标签显示Action中的数据时,确保Action中有相应的`getter`方法。 3. 使用`&lt;s:textfield&gt;`标签向Action中的对象传递值时,Action需要提供相应的`getter`和`setter`方法。 4. 使用`&lt;s:if&gt;`标签...

    struts2标签大全详解

    1. `&lt;s:if&gt;`,`&lt;s:elseif&gt;`,`&lt;s:else&gt;`:条件判断语句,用于控制标签的渲染。 F部分: 1. `&lt;s:fielderror&gt;`:显示字段级别的错误信息。 2. `&lt;s:file&gt;`:用于文件上传功能。 3. `&lt;s:form&gt;`:创建表单,可以指定提交...

    struts常用标签示例

    10. **`&lt;s:if&gt;`** 和 `&lt;s:else&gt;`、`&lt;s:elseif&gt;` 标签: 提供条件判断功能,允许根据特定条件展示内容。 11. **`&lt;s:iterator&gt;`** 标签: 用于迭代集合数据,常用于遍历数组、List、Map等数据结构。 12. **`&lt;s:...

    Struts标签集合简介

    `&lt;s:set&gt;` 赋值给变量,`&lt;s:sort&gt;` 对集合进行排序,`&lt;s:submit&gt;` 创建提交按钮,`&lt;s:subset&gt;` 输出集合的子集。 T. `&lt;s:tabbedPanel&gt;, &lt;s:table&gt;, &lt;s:text&gt;, &lt;s:textarea&gt;, &lt;s:textfield&gt;`: 创建选项卡面板、表格...

    struts2标签整理

    `&lt;s:if&gt;`、`&lt;s:elseif&gt;`、`&lt;s:else&gt;` - 条件判断标签 用于实现条件判断逻辑。 ```jsp &lt;s:if test="%{#session.user != null}"&gt; 欢迎您,#{session.user.name}! &lt;/s:if&gt; &lt;s:elseif test="%{#request.error != null...

Global site tag (gtag.js) - Google Analytics