`

Struts_s:if

 
阅读更多

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

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

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

    ### Struts2中`s:if`标签用于判断String类型的对象属性值和单字符是否相等的问题解析 在Struts2框架中,`&lt;s:if&gt;`标签被广泛应用于页面上根据不同的条件显示或隐藏某些元素。它的工作原理是基于表达式的结果来决定...

    struts2<s:if>使用心得

    在Struts2框架中,`&lt;s:if&gt;`标签用于条件判断,类似于Java中的if语句。本篇文章将深入解析这段代码所涉及的关键知识点,并通过实际案例帮助理解如何使用Struts2中的`&lt;s:if&gt;`标签进行逻辑控制。 ### Struts2概述 ...

    struts2的s标签

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

    解决struts2的s:checkbox显示难看问题

    可以通过调整`cssStyle`属性,或者在标签内部使用`&lt;s:if&gt;`、`&lt;s:else&gt;`等逻辑标签来控制布局。 3. **主题问题**:尝试更换不同的Struts2主题,如simple或xhtml,查看是否改善了显示效果。如果需要更精细的定制,...

    struts2实现页面select标签默认选中

    &lt;option value="0" &lt;s:if test="auditingLog.auditingState == 0"&gt;selected="selected"&lt;/s:if&gt;&gt;不通过 ``` 这里的`&lt;s:if&gt;`标签用于判断条件是否成立,如果`auditingLog.auditingState`等于`1`或`0`,则对应的`...

    struts_tags

    这个例子中,`&lt;s:form&gt;`标签创建了一个表单,`&lt;s:textfield&gt;`和`&lt;s:password&gt;`分别创建了文本输入和密码输入字段,`&lt;s:submit&gt;`用于提交表单,`&lt;s:if&gt;`和`&lt;s:actionerror&gt;`则用于显示验证错误。 综上所述,`struts_...

    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:...

    Struts_2_标签库(文档手册)_Tags-API-CLSW-JSP

    #### `&lt;s:if&gt;`、`&lt;s:elseif&gt;` 和 `&lt;s:else&gt;` 标签 用于条件判断,类似于Java中的if-else语句,可以根据表达式的真假决定是否渲染后续的标签内容。 #### `&lt;s:fielderror&gt;` 标签 显示表单字段的验证错误信息,有助...

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

    5. `&lt;s:if&gt;`和`&lt;s:else&gt;`:条件判断,控制页面元素的显示。 在这个用户管理实例中,`UserManager`可能是Action类的名字,它包含了处理用户管理操作的逻辑。例如,`addUser`方法用于添加用户,`deleteUser`用于删除...

    struts_tag

    `&lt;s:if&gt;`, `&lt;s:elseif&gt;`, `&lt;s:else&gt;` - 这三个标签组合提供了条件判断。例如: ```jsp &lt;s:if test="condition"&gt; &lt;!-- 如果条件为真 --&gt; &lt;/s:if&gt; &lt;s:elseif test="anotherCondition"&gt; &lt;!-- 如果条件为真 --&gt; &lt;/s:...

    struts_strut2连接mysql数据库_

    &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; 显示用户列表 &lt;th&gt;ID &lt;th&gt;Name &lt;th&gt;Email &lt;s:iterator value="#session.users"&gt; &lt;td&gt;&lt;s:property value="id"/&gt; &lt;td&gt;&lt;s:property value="name"/&gt; ...

    struts2-tags-API.rar_struts2 api_struts2 tag api_struts2 tags ch

    4. **Control Flow Tags**: 如`&lt;s:if&gt;`、`&lt;s:else&gt;`、`&lt;s:choose&gt;`等,它们提供了条件逻辑控制,使得在JSP页面中实现复杂的逻辑变得简单。 5. **Iterative Tags**: `&lt;s:iterator&gt;`标签用于遍历集合,如List、Map等...

    Struts2中关于s:tree

    注意,这里的 `s:tree` 实际上是自定义的标签,因为 Struts2 核心库并没有提供 `s:tree` 标签。这个例子中的 `treeTag` 标签根据传入的根类别 ID 和类别列表来递归生成树形结构。用户可以通过修改 `rootCategoryId` ...

    struts2标签库例子

    例如:&lt;s:if test="%{false}"&gt; &lt;div&gt;Will Not Be Executed&lt;/div&gt;&lt;/s:if&gt;&lt;s:elseif test="%{true}"&gt; &lt;div&gt;Will Be Executed&lt;/div&gt;&lt;/s:elseif&gt; 4.1.4 append 标签 append 标签用来将多个 iterator 合并成一个 ...

    struts2-s标签

    ### Struts2 S 标签库详解 #### 引言 Struts2 是一款流行的 Java Web 开发框架,它提供了一系列强大的功能来帮助开发者构建健壮的 Web 应用程序。其中,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标签介绍3

    除了`if`和`iterator`,Struts2标签库还包括许多其他标签,如`property`用于显示Action类属性的值,`select`和`option`用于创建下拉列表,`s:textfield`、`s:textarea`、`s:checkbox`、`s:radio`用于构建表单元素,...

    简单易懂Struts核心讲解

    这些标签包括:`&lt;s:property&gt;`用于显示Action属性值,`&lt;s:form&gt;`用于创建表单,`&lt;s:textarea&gt;`、`&lt;s:textfield&gt;`等用于创建输入字段,`&lt;s:if&gt;`、`&lt;s:else&gt;`进行条件判断,以及`&lt;s:iterator&gt;`遍历集合等。使用这些...

    struts2_标签使用方法.doc

    `&lt;s:if&gt;`、`&lt;s:elseif&gt;`和`&lt;s:else&gt;`: - 这三个标签组合使用,实现条件判断,与Java中的if-else语句相似,但它们是基于OGNL表达式进行条件判断。 F. `&lt;s:fielderror&gt;`、`&lt;s:file&gt;`和`&lt;s:form&gt;`: - `&lt;s:...

Global site tag (gtag.js) - Google Analytics