首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

Struts2标签运用之s:if

2012-11-08 
Struts2标签使用之s:ifstruts2 的web 项目中为了方便的编写jsp,标签是最好的选择1:struts2 标签库的定义在

Struts2标签使用之s:if
struts2 的web 项目中为了方便的编写jsp,标签是最好的选择
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 导入标签的dingyi
<%@ 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 value="analysisTemplates" status="sta">
                <s:if test="%{#sta.index%2==0}">
                    <tr>
                        <td><s:property value="#analysisTemplate.name"/></td>
                </s:if>
                <s:else>
                        <td><s:property value="#analysisTemplate.name"/></td>
                    </tr>
                </s:else>
            </s:iterator>

热点排行