第一次写东东,有不好的地方请大家指教。
在用struts2做项目中总要遇到关于其标签的问题,我总也用不好struts2的标签。
今天把前几天在项目中用到的<s:if><s:set>标签跟大家分享一下。
先给大家贴代码出来,在后面在具体介绍。
<s:set name="status" value="modStatus"/>
<s:if test="#status == 0 ">
<s:text name="mod.control.start"/>
</s:if>
<s:elseif test="#status == 1 ">
<s:text name="mod.control.stop"/>
</s:elseif>
<s:else>
<s:text name="mod.control.uncertain"/>
</s:else>
向上面这段代码,我在用的时候也,消耗的很长时间,才把它做对。"modStatus"是一个链表中对象的属性,比如<s:iterator value="ModList" status="rowstatus">,中ModList是一个存放对象(ModManaget)的list,那么“modStatus”是“ModManaget”的属性,我们在用的时候不能够通过struts2的<s:property value="modStatus">标签来得到modStatus的值,比如向这样<s:set name="status" value="<s:property value="modStatus"/>"/>是错误的,因为struts2中不允许在struts2的标签中再用struts2的标签。你可以在html的标签中用struts2的标签,比如:<input type="text" name="id" value="<s:property value="modStatus"/>"/>就可以得到正确的值。
关于上面的代码还有一点需要说明的,就是“modStatus”是从数据库中查出来的String类型,但我们在比较时,我们不能够像这样写 <s:if test="#status == ‘0’ ">或 <s:if test="#status == “0” ">像这样写会出现错误的逻辑。还要注意的就是<s:if test="#status == 0 ">中“status”前只能够加"#"不能够加“%“等其它符号。
希望对大家有所帮助。
分享到:
相关推荐
通过以上几个示例,我们可以看到 `<s:if>` 标签在 Struts2 中的应用是非常灵活和强大的。它可以用来实现各种复杂的逻辑判断,如数值比较、字符串匹配等。此外,结合其他标签如 `<s:iterator>`,可以实现更复杂的逻辑...
本文通过具体的示例代码介绍了Struts2中`<s:if>`标签的使用方法,以及如何结合`<s:set>`标签设置变量进行条件判断。通过这种方式,我们可以实现动态网页的效果,提高用户体验。Struts2提供的这些功能强大且灵活,...
### Struts2中的S标签详解 #### 一、概述 Struts2框架是Apache软件基金会下的一个开源项目,它提供了一种基于MVC(Model-View-Controller)设计模式的Web应用开发框架。Struts2提供了丰富的标签库,其中“S标签”...
而在 Struts2 中,所有的标签都被统一管理,并通过在 JSP 文件头部声明 `<%@ taglib prefix="s" uri="/struts-tags" %>` 来启用 Struts2 的标签库。这种方式简化了开发过程中的配置工作,使得开发者可以更加专注于...
<%@ taglib prefix="s" uri="/struts-tags" %> 就能使用struts2.0的标签库 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. 2. <s:a href=""></s:a>-----超链接,类似于html里的<a></a> 3. <s:...
通过以上分析可知,利用Struts2的`<s:iterator>`和`<s:set>`标签,我们可以很方便地实现对列表数据的迭代显示及数值求和功能。这种方法不仅简化了后端代码逻辑,也使得前端页面更加灵活和动态。这对于处理大量数据时...
`<s:elseif>` 条件判断标签 - **用途**:与`s:if`配合使用,进行多条件判断。 - **示例代码**: ```xml <s:if test="%{#age > 18}"> 成年人 </s:if> <s:elseif test="%{#age <= 18}"> 未成年人 </s:elseif> ...
`<s:a>` 相当于HTML的 `<a>` 标签,但提供了与Struts2框架的集成,可以动态生成URL。`<s:action>` 则用于在页面上触发一个特定的Action。 B. `<s:bean>`: 此标签类似于Struts1中的JavaBean引用,但在Struts2中并不...
在JSP中,我们通常使用`<%@ taglib prefix="s" uri="/struts-tags" %>`来引入Struts2的标签库。下面将详细介绍一些重要的Struts2标签及其功能。 **A. 超链接和Action标签** - `<s:a href=""></s:a>`:创建一个...
- `<s:iterator>`:迭代标签,用于遍历集合对象,如List、Set等。 - `<s:property>`:显示对象的属性值,常用于显示后台数据。 2. **展示标签库**: - `<s:textarea>`:创建多行文本输入框。 - `<s:checkbox>`...
2. 使用`<s:property>`标签显示Action中的数据时,确保Action中有相应的`getter`方法。 3. 使用`<s:textfield>`标签向Action中的对象传递值时,Action需要提供相应的`getter`和`setter`方法。 4. 使用`<s:if>`标签...
在Struts2中,`<input>`标签被广泛用于从前端页面向后端Action传递参数。例如: ```html <input name="userName" type="text" class="input6" size="15"> ``` 这里,`name`属性定义了参数名,这要求在Action中需...
1. `<s:if>`,`<s:elseif>`,`<s:else>`:条件判断语句,用于控制标签的渲染。 F部分: 1. `<s:fielderror>`:显示字段级别的错误信息。 2. `<s:file>`:用于文件上传功能。 3. `<s:form>`:创建表单,可以指定提交...
`<s:if>`、`<s:elseif>`、`<s:else>` - 条件判断标签 用于实现条件判断逻辑。 ```jsp <s:if test="%{#session.user != null}"> 欢迎您,#{session.user.name}! </s:if> <s:elseif test="%{#request.error != null...
1. `<s:if>`、`<s:elseif>`、`<s:else>`:条件判断标签,用于根据表达式结果进行不同的页面渲染。 F部分: 1. `<s:fielderror>`:显示字段级别的错误信息,如表单验证失败时的错误。 2. `<s:file>`:处理文件上传,...
- **数据传递**: 在向Action传递数据时,推荐使用`<s:textfield>`等Struts2标签,以利用其内置的数据绑定机制。 - **属性显示**: 显示Action中的属性值时,使用`<s:property>`标签以提高代码的可读性和可维护性。 - ...
10. **`<s:if>`** 和 `<s:else>`、`<s:elseif>` 标签: 提供条件判断功能,允许根据特定条件展示内容。 11. **`<s:iterator>`** 标签: 用于迭代集合数据,常用于遍历数组、List、Map等数据结构。 12. **`<s:...
邮箱:<s:property value="email" /><br/> </s:iterator> ``` 如果`users`是一个包含多个用户对象的列表,则这段代码会遍历每个用户并输出用户名和邮箱。 ##### 5. `<s:include>` 标签 - **用途**:包含其他...
7. **主题和皮肤**:Struts2支持更换不同的主题和皮肤来改变UI的外观,这通过 `<s:set>` 和 `<s:theme>` 标签可以实现。 8. **国际化**:Struts2提供了 `<s:text>` 和 `<s:textfield>` 等标签的资源键参数,支持多...