via: http://blog.csdn.net/chinajust/article/details/3922718
1:struts2 标签库的定义在**-core-版本号.jar META-INF 路径下找到struts-tags.tld文件;使用该标签需要在web 项目里面导入标签库:
A:在web.xml文件 (默认 可以省略)
<taglib>
<taglib-uri>/struts-tags</taglib-uri>
<taglib-location>/WEB-INF/lib/*.jar</taglib-location>
<taglib>
B:在jsp 导入标签的定义
<%@ taglib prefix="s" uri="/struts-tags"%>
注意uri要一直,上面定义的是默认写法
2:OGNL struts2 利用了内建的ognl表达式,它基于XWork,增加了对ValueStack的支持 ,在jsp里面通过ognl访问属性,struts2会自动搜寻栈内的所有实体。直到找到位置。
如:#person.address.ip 等于 person.getAddress().getIp();翻译结果为条用get方法 或是jstl的${person.address.ip}
<s:if>用法
A:直接写表达式
<s:set name='china' value='china'>
<s:if test="${china=='china'}">show</s:if>
result: show
<s:set name="count" value="99">
<s:if test="${count>0}">bigger than 0</s:if>
<s:else>not</s:else>
result: bigger than 0
B:在遍历里面使用判断:
<s:iterator id="id" value="label">
<s:if test="%{#id.attrValueId!=0}">
<s:property value="#id.attrValue" />
<s:property value="#id.countAll" /> <s:property value="#id.countRequest" />
</s:if>
<s:else>
<s:property value="#id.attrValue" />
</s:else>
</s:iterator>
label是一个List<Attribu> Attribu 包含属性attrValueId和countAll 在s:iterator域内这是id的值是"id",使用ognl读取遍历对象的方法是 #id test="%{#id.attrValueId!=0}" 看子对象的属性attrValueId是否为0
<s:property value="#id.attrValue" /> 打印子对象的attrValue属性
C:直接读取对象
<s:if test="request.price==null||request.price<=0">
</s:if>
读取对象request,判断price是否小于0; request 可以是如何的javaBean,也可以是基本属性
D:直接读取对象的另一种写法
<s:if test="%{aTransactionSummaryBean!=null}">
E:多个条件的判断
<s:if test='%{isShowAll=="Y"||isShowAll==null||isShowAll==""}'>
<li class="selected">
</s:if>
<s:else>
<li>else
</s:else>
isShowAll 为Action 里面的字符串属性
F:直接拿Action里面的boolean 貌似不xing
Action里面
private boolean choosed = true;
public boolean isChoosed(){
return choosed;
}
<s:if test="choosed"></s:if>
发现这个判断无法正确运行,也许是ognl 是通过get方法来获取对象的,如果在action 里面有下面的方法;
public String getChoosed(){
return "true";
}
上面那个s:if可以正确执行
最后注意一点:ognl和jstl标签不能互相嵌套
相关推荐
### Struts2 `<s:if>` 标签使用详解 #### 概述 Struts2 是一款基于 Java 的企业级 Web 应用框架,它利用了 MVC(Model-View-Controller)架构模式来帮助开发者构建可扩展、易于维护的 Web 应用程序。在 Struts2 中...
### Struts2中`s:if`标签用于判断String类型的对象属性值和单字符是否相等的问题解析 在Struts2框架中,`<s:if>`标签被广泛应用于页面上根据不同的条件显示或隐藏某些元素。它的工作原理是基于表达式的结果来决定...
在Struts2框架中,`<s:if>`标签用于条件判断,类似于Java中的if语句。本篇文章将深入解析这段代码所涉及的关键知识点,并通过实际案例帮助理解如何使用Struts2中的`<s:if>`标签进行逻辑控制。 ### Struts2概述 ...
### Struts2中的S标签详解 #### 一、概述 Struts2框架是Apache软件基金会下的一个开源项目,它提供了一种基于MVC(Model-View-Controller)设计模式的Web应用开发框架。Struts2提供了丰富的标签库,其中“S标签”...
可以通过调整`cssStyle`属性,或者在标签内部使用`<s:if>`、`<s:else>`等逻辑标签来控制布局。 3. **主题问题**:尝试更换不同的Struts2主题,如simple或xhtml,查看是否改善了显示效果。如果需要更精细的定制,...
<option value="0" <s:if test="auditingLog.auditingState == 0">selected="selected"</s:if>>不通过 ``` 这里的`<s:if>`标签用于判断条件是否成立,如果`auditingLog.auditingState`等于`1`或`0`,则对应的`...
这个例子中,`<s:form>`标签创建了一个表单,`<s:textfield>`和`<s:password>`分别创建了文本输入和密码输入字段,`<s:submit>`用于提交表单,`<s:if>`和`<s:actionerror>`则用于显示验证错误。 综上所述,`struts_...
<%@ taglib prefix="s" uri="/struts-tags" %> 就能使用struts2.0的标签库 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. 2. <s:a href=""></s:a>-----超链接,类似于html里的<a></a> 3. <s:...
#### `<s:if>`、`<s:elseif>` 和 `<s:else>` 标签 用于条件判断,类似于Java中的if-else语句,可以根据表达式的真假决定是否渲染后续的标签内容。 #### `<s:fielderror>` 标签 显示表单字段的验证错误信息,有助...
5. `<s:if>`和`<s:else>`:条件判断,控制页面元素的显示。 在这个用户管理实例中,`UserManager`可能是Action类的名字,它包含了处理用户管理操作的逻辑。例如,`addUser`方法用于添加用户,`deleteUser`用于删除...
`<s:if>`, `<s:elseif>`, `<s:else>` - 这三个标签组合提供了条件判断。例如: ```jsp <s:if test="condition"> <!-- 如果条件为真 --> </s:if> <s:elseif test="anotherCondition"> <!-- 如果条件为真 --> </s:...
<%@ taglib prefix="s" uri="/struts-tags" %> 显示用户列表 <th>ID <th>Name <th>Email <s:iterator value="#session.users"> <td><s:property value="id"/> <td><s:property value="name"/> ...
4. **Control Flow Tags**: 如`<s:if>`、`<s:else>`、`<s:choose>`等,它们提供了条件逻辑控制,使得在JSP页面中实现复杂的逻辑变得简单。 5. **Iterative Tags**: `<s:iterator>`标签用于遍历集合,如List、Map等...
注意,这里的 `s:tree` 实际上是自定义的标签,因为 Struts2 核心库并没有提供 `s:tree` 标签。这个例子中的 `treeTag` 标签根据传入的根类别 ID 和类别列表来递归生成树形结构。用户可以通过修改 `rootCategoryId` ...
例如:<s:if test="%{false}"> <div>Will Not Be Executed</div></s:if><s:elseif test="%{true}"> <div>Will Be Executed</div></s:elseif> 4.1.4 append 标签 append 标签用来将多个 iterator 合并成一个 ...
### Struts2 S 标签库详解 #### 引言 Struts2 是一款流行的 Java Web 开发框架,它提供了一系列强大的功能来帮助开发者构建健壮的 Web 应用程序。其中,Struts2 的标签库是其核心特性之一,为开发者提供了丰富的 ...
<%@ taglib uri="/struts-tags" prefix="s" %> 结合例子,重点掌握以下标签的用法 (1) <s:property> (2) <s:set> (3) <s:if> 、<s:elseif>、<s:else> (4) <s:iterator> (5) <s:include> (6) <s:form>、<s:hidden> (7...
除了`if`和`iterator`,Struts2标签库还包括许多其他标签,如`property`用于显示Action类属性的值,`select`和`option`用于创建下拉列表,`s:textfield`、`s:textarea`、`s:checkbox`、`s:radio`用于构建表单元素,...
这些标签包括:`<s:property>`用于显示Action属性值,`<s:form>`用于创建表单,`<s:textarea>`、`<s:textfield>`等用于创建输入字段,`<s:if>`、`<s:else>`进行条件判断,以及`<s:iterator>`遍历集合等。使用这些...
`<s:if>`、`<s:elseif>`和`<s:else>`: - 这三个标签组合使用,实现条件判断,与Java中的if-else语句相似,但它们是基于OGNL表达式进行条件判断。 F. `<s:fielderror>`、`<s:file>`和`<s:form>`: - `<s:...