`
ghyghoo8
  • 浏览: 193133 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

struts2 标签的使用之 s:if

阅读更多
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 标签使用

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

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

    在使用Struts2中的`s:if`标签进行条件渲染时,特别是涉及到字符串和字符的比较时,需要注意Java语言的基本数据类型及其转换规则。通过明确地指定类型转换(如使用`toString()`),可以避免潜在的类型不匹配问题,...

    struts2标签使用例子

    在压缩包中的"example"文件可能包含了一个或多个使用Struts2标签的实际示例,可以参考这些示例来理解和学习Struts2标签的用法。通过实践,你会更好地掌握这些标签的功能和用法,从而在开发过程中更加得心应手。

    struts2<s:if>使用心得

    本篇文章将深入解析这段代码所涉及的关键知识点,并通过实际案例帮助理解如何使用Struts2中的`&lt;s:if&gt;`标签进行逻辑控制。 ### Struts2概述 Struts2是基于MVC设计模式的Web应用开发框架,它提供了丰富的标签库以及...

    Struts2标签使用及API文档

    `struts2标签用法.doc`和`标签详解`文件可能包含更深入的标签用法和实例,例如如何使用`s:form`创建表单,如何利用`s:action`执行Action,以及如何使用`s:debug`标签进行调试等。 5. **Struts2标签的高级用法** -...

    struts2标签库例子

    下面,我们将详细介绍 Struts2 标签库的使用。 4.1 通用标签 通用标签用来控制页面的执行过程,并从 Action 或值堆栈中取得数据。这些标签可以分为控制标签、数据标签和其他标签。 控制标签用来控制程序的执行,...

    struts2标签库

    Struts2标签库是其核心组件之一,它提供了丰富的前端界面构建工具,能够帮助开发者快速构建动态网页。下面将详细介绍Struts2标签库中的部分常用标签,并将其与Struts1进行对比,以便更好地理解它们的功能。 #### 1....

    Struts2之struts2标签库了解和使用案例struts025

    在Struts2中,标签库是其核心组件之一,极大地简化了视图层的开发,使得开发者可以更加专注于业务逻辑而不是繁琐的HTML代码。本篇文章将深入探讨Struts2的标签库,并通过具体案例进行讲解。 首先,Struts2标签库...

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

    这个实例项目展示了如何在实际应用中结合Struts2、国际化、类型转换以及Struts2自定义标签来实现用户管理功能,包括用户数据的增删改查。 首先,我们来看Struts2的核心概念。Struts2作为MVC框架,它负责处理HTTP...

    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 标签使用简介

    除了预定义的标签外,Struts2还允许开发者自定义标签,这需要创建一个继承自`org.apache.struts2.views.jsp.TagSupport`的Java类,并在JSP页面中使用`&lt;s:tag&gt;`进行调用。 五、标签库的扩展性 Struts2的标签库不仅...

    Struts2标签列表及说明

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

    struts2标签大全

    在Struts2中,使用了一系列的标签库来增强JSP页面的功能,使得开发者可以更方便地实现业务逻辑与视图的分离,提高代码的可读性和可维护性。本篇文章将详细介绍Struts2中的各种标签及其应用。 1. **s:form标签**:这...

    struts2标签api

    在使用Struts2标签API时,需要注意以下几点: - 标签的命名空间:通常以`s:`开头,表示它是Struts2提供的标签。 - 动态属性:很多标签都支持动态属性,允许我们根据Action类的状态动态设置属性值。 - 表单标签的...

    struts2标签用法详解

    Struts2标签是Struts2框架提供的一种强大的视图层技术,它极大地简化了JSP页面的编写,提高了代码的可读性和可维护性。在本文中,我们将深入探讨Struts2标签的用法,包括它们的基本概念、类型以及如何在实际开发中...

    struts2标签的使用代码

    除了迭代输出,Struts2还提供了一些辅助标签处理集合数据,如`&lt;s:if&gt;`、`&lt;s:else&gt;`、`&lt;s:foreach&gt;`等。例如,检查集合是否为空: ```jsp &lt;s:if test="#users.isEmpty()"&gt; 没有用户数据 &lt;/s:if&gt; &lt;s:else&gt; 用户数据...

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

    通过熟练掌握Struts2标签的使用,开发者可以更高效地构建动态网页,同时享受到Struts2框架带来的便利和灵活性。提供的“Struts2标签详解.doc”文档将对这些概念进行详细的解释,是深入学习和理解Struts2标签的重要...

    Struts2标签库

    &lt;%@ taglib uri="/struts-tags" prefix="s" %&gt; 结合例子,重点掌握以下标签的用法 (1) &lt;s:property&gt; (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...

    struts2标签教程(中文版)

    Struts2标签是Java Web开发框架Struts2中的一部分,它提供了一种简化JSP页面编写的方式,使得开发者可以通过XML语法来替代繁琐的Java脚本和JSP动作元素。Struts2标签库大大提升了代码的可读性和维护性,使得业务逻辑...

    struts2的s标签

    要在JSP页面中使用Struts2的S标签,首先需要在页面顶部添加如下声明: ```jsp &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; ``` 这行代码的作用是将Struts2提供的标签库导入到当前JSP页面中,并指定前缀为“s”。...

Global site tag (gtag.js) - Google Analytics