struts2 的web 项目中为了方便的编写jsp,标签是最好的选择
1:struts2 标签库的定义在**-core-版本号.jar META-INF 路径下找到struts-tags.tld文件;使用该标签需要在web 项目里面导入标签库:
A:在web.xml文件 (默认 可以省略)
1. <taglib>
2. <taglib-uri>/struts-tags</taglib-uri>
3. <taglib-location>/WEB-INF/lib/*.jar</taglib-location>
4. <taglib>
B:在jsp 导入标签的dingyi
1. <%@ 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:直接写表达式
1. <s:set name='china' value='china'>
2. <s:if test="${china=='china'}">show</s:if>
3. result: show
4. <s:set name="count" value="99">
5. <s:if test="${count>0}">bigger than 0</s:if>
6. <s:else>not</s:else>
7. result: bigger than 0
B:在遍历里面使用判断:
1. <s:iterator id="id" value="label">
2. <s:if test="%{#id.attrValueId!=0}">
3. <s:property value="#id.attrValue" />
4. <s:property value="#id.countAll" /> <s:property value="#id.countRequest" />
5. </s:if>
6. <s:else>
7. <s:property value="#id.attrValue" />
8. </s:else>
9. </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:直接读取对象
1. <s:if test="request.price==null||request.price<=0">
2. </s:if>
读取对象request,判断price是否小于0;
request 可以是如何的javaBean,也可以是基本属性
D:直接读取对象的另一种写法
1. <s:if test="%{aTransactionSummaryBean!=null}">
E:多个条件的判断
1. <s:if test='%{isShowAll=="Y"||isShowAll==null||isShowAll==""}'>
2. <li class="selected">
3. </s:if>
4. <s:else>
5. <li>else
6. </s:else>
isShowAll 为Action 里面的字符串属性
F:直接拿Action里面的boolean 貌似不xing
Action里面
1. private boolean choosed = true;
2. public boolean isChoosed(){
3. return choosed;
4. }
5. <s:if test="choosed"></s:if>
发现这个判断无法正确运行,也许是ognl 是通过get方法来获取对象的,如果在action 里面有下面的方法;
1. public String getChoosed(){
2. return "true";
3. }
上面那个s:if可以正确执行
最后注意一点:ognl和jstl标签不能互相嵌套
分享到:
相关推荐
### Struts2 `<s:if>` 标签使用详解 #### 概述 Struts2 是一款基于 Java 的企业级 Web 应用框架,它利用了 MVC(Model-View-Controller)架构模式来帮助开发者构建可扩展、易于维护的 Web 应用程序。在 Struts2 中...
在使用Struts2中的`s:if`标签进行条件渲染时,特别是涉及到字符串和字符的比较时,需要注意Java语言的基本数据类型及其转换规则。通过明确地指定类型转换(如使用`toString()`),可以避免潜在的类型不匹配问题,...
在压缩包中的"example"文件可能包含了一个或多个使用Struts2标签的实际示例,可以参考这些示例来理解和学习Struts2标签的用法。通过实践,你会更好地掌握这些标签的功能和用法,从而在开发过程中更加得心应手。
本篇文章将深入解析这段代码所涉及的关键知识点,并通过实际案例帮助理解如何使用Struts2中的`<s:if>`标签进行逻辑控制。 ### Struts2概述 Struts2是基于MVC设计模式的Web应用开发框架,它提供了丰富的标签库以及...
`struts2标签用法.doc`和`标签详解`文件可能包含更深入的标签用法和实例,例如如何使用`s:form`创建表单,如何利用`s:action`执行Action,以及如何使用`s:debug`标签进行调试等。 5. **Struts2标签的高级用法** -...
下面,我们将详细介绍 Struts2 标签库的使用。 4.1 通用标签 通用标签用来控制页面的执行过程,并从 Action 或值堆栈中取得数据。这些标签可以分为控制标签、数据标签和其他标签。 控制标签用来控制程序的执行,...
Struts2标签库是其核心组件之一,它提供了丰富的前端界面构建工具,能够帮助开发者快速构建动态网页。下面将详细介绍Struts2标签库中的部分常用标签,并将其与Struts1进行对比,以便更好地理解它们的功能。 #### 1....
在Struts2中,标签库是其核心组件之一,极大地简化了视图层的开发,使得开发者可以更加专注于业务逻辑而不是繁琐的HTML代码。本篇文章将深入探讨Struts2的标签库,并通过具体案例进行讲解。 首先,Struts2标签库...
这个实例项目展示了如何在实际应用中结合Struts2、国际化、类型转换以及Struts2自定义标签来实现用户管理功能,包括用户数据的增删改查。 首先,我们来看Struts2的核心概念。Struts2作为MVC框架,它负责处理HTTP...
<%@ taglib prefix="s" uri="/struts-tags" %> 就能使用struts2.0的标签库 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. 2. <s:a href=""></s:a>-----超链接,类似于html里的<a></a> 3. <s:...
除了预定义的标签外,Struts2还允许开发者自定义标签,这需要创建一个继承自`org.apache.struts2.views.jsp.TagSupport`的Java类,并在JSP页面中使用`<s:tag>`进行调用。 五、标签库的扩展性 Struts2的标签库不仅...
Struts2 标签列表及说明 Struts2 是一个基于 Java 语言的 Web 应用程序 Framework,它提供了许多标签来帮助开发者快速构建 Web 应用程序。下面是 Struts2 的标签列表及说明: A: * <s:a>:超链接,类似于 HTML ...
在Struts2中,使用了一系列的标签库来增强JSP页面的功能,使得开发者可以更方便地实现业务逻辑与视图的分离,提高代码的可读性和可维护性。本篇文章将详细介绍Struts2中的各种标签及其应用。 1. **s:form标签**:这...
在使用Struts2标签API时,需要注意以下几点: - 标签的命名空间:通常以`s:`开头,表示它是Struts2提供的标签。 - 动态属性:很多标签都支持动态属性,允许我们根据Action类的状态动态设置属性值。 - 表单标签的...
Struts2标签是Struts2框架提供的一种强大的视图层技术,它极大地简化了JSP页面的编写,提高了代码的可读性和可维护性。在本文中,我们将深入探讨Struts2标签的用法,包括它们的基本概念、类型以及如何在实际开发中...
除了迭代输出,Struts2还提供了一些辅助标签处理集合数据,如`<s:if>`、`<s:else>`、`<s:foreach>`等。例如,检查集合是否为空: ```jsp <s:if test="#users.isEmpty()"> 没有用户数据 </s:if> <s:else> 用户数据...
通过熟练掌握Struts2标签的使用,开发者可以更高效地构建动态网页,同时享受到Struts2框架带来的便利和灵活性。提供的“Struts2标签详解.doc”文档将对这些概念进行详细的解释,是深入学习和理解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...
Struts2标签是Java Web开发框架Struts2中的一部分,它提供了一种简化JSP页面编写的方式,使得开发者可以通过XML语法来替代繁琐的Java脚本和JSP动作元素。Struts2标签库大大提升了代码的可读性和维护性,使得业务逻辑...
要在JSP页面中使用Struts2的S标签,首先需要在页面顶部添加如下声明: ```jsp <%@ taglib prefix="s" uri="/struts-tags" %> ``` 这行代码的作用是将Struts2提供的标签库导入到当前JSP页面中,并指定前缀为“s”。...