struts2常用标签汇总

1.s:fielderror输出指定错误信息,而不是输出全部错误信息

在struts2框架中,例如在完成数据类型转换、数据校验时如果出现错误信息,我们会利用ActionSupport类中addFieldError方法来添加错误信息内容(如:在Action中使用this.addFieldError("username" , "用户名已存在!");
)。在JSP页面中利用<s:fielderror/>标签在相应的字段处输出错误信息。(如:JSP页面:<s:textfield name="username" label="用户名"/>,在该处后面使用<s:fielderror/>标签, 那么上面的错误信息也就会显示到username这个输入框的旁边。)

但是,在实际开发中,<s:fielderror/>它会输出全部的错误信息内容。而如果想选择性地输出指定错误信息。我们可以使用如下代码解决:
第一种方法:

    <s:fielderror>  
      <s:param>username</s:param> <!--显示指定的 username字段的 错误消息-->  
      <s:param>username2</s:param> <!--显示指定的 username2字段的 错误消息-->  
    <s:fielderror/>  

第二种方法:

    <s:fielderror fieldName="username"/> <!--显示指定的 username字段的 错误消息-->  
    <s:fielderror fieldName="username2"/> <!--显示指定的 username2字段的 错误消息-->  

用法:

<s:if test="hasFieldErrors()">
    <div class="span12">
        <div class="alert alert-info">
            <button type="button" class="close" data-dismiss="alert">×</button>
            <h4>
                提示!
            </h4>
            <s:fielderror>
                <s:param>message</s:param>
            </s:fielderror>
        </div>
    </div>
</s:if>

2.日期格式化

<s:date format="yyyy-MM-dd hh:mm:ss" name="#request.storeActivity.startTime"/>

3.if……elseif……else,用来控制选择输出的标签


<span style="font-size:18px;"><html xmlns="http://www.w3.org/1999/xhtml">  
<head>  
    <title>s:if标签测试</title>  
</head>  
<body>  
<!-- 在Stack Context中定义一个age属性,其值为29 -->  
<s:set name="age" value="29"/>  
<!-- 如果Stack Context中的age属性大于60 -->  
<s:if test="#age>60">  
    老年人  
</s:if>  
<!-- 如果Stack Context中的age属性大于35 -->  
<s:elseif test="#age>35">  
    中年人  
</s:elseif>  
<!-- 如果Stack Context中的age属性大于15 -->  
<s:elseif test="#age>15">  
    青年人  
</s:elseif>  
<s:else>  
    少年  
</s:else>  
</body>  
</html></span>  

4. iterator:是一个迭代器,用于将集合迭代输出(var可选  指定则实例放入栈的上下文 允许用var直接使用

<s:iterator value="#request.roleMap" var="map">
                        <s:if test="#map.value eq 'true'">
                            <option selected value="<s:property value="#map.key.id"/>"><s:property
                                    value="#map.key.nameEn"/></option>
                        </s:if>
                        <s:else>
                            <option value="<s:property value="#map.key.id"/>"><s:property
                                    value="#map.key.nameEn"/></option>
                        </s:else>
                    </s:iterator>

5.判断


  <s:if test="#request.isEditOrAdd=='editor'">
	</s:if>
	<s:if test="#request.isEditOrAdd eq 'editor'">
	</s:if>
	<s:if test="#request.storeActivity.type==1">
                            <option value="1" selected>折扣</option>
                            <option value="2">促销</option>
                            <option value="3">会员活动</option>
                            <option value="0">其他</option>
                        </s:if>
    <s:if test="#request.storeActivity.title!=null">
		<div class="col-sm-10">
			<input type="text" class="form-control" id="activityTitle" style="width:210px" value="<s:property value="#request.storeActivity.title"/>" name=""/>
		</div>
	</s:if>
	<s:else>
		<div class="col-sm-10">
			<input type="text" class="form-control" id="activityTitle" style="width:210px" value="<s:property value="#request.storeActivity.title"/>" name=""/>
		</div>
	</s:else>
6.debug标签:用于辅助调试.在页面上生成超链接,可以查看值栈(value stack),和StackContext中所有信息

<s:debug></s:debug>




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值