[英]How to null check variable of list type using struts2 <s:if> tag
我有從Jsp上的requestAttribute檢索到的Payment Gateway的列表,如下所示:
List<String> payGwList = (List<String>)request.getAttribute("payGwList");
我必須將它們填充到我的選擇框(組合框)中,但在此之前必須執行以下檢查
編輯
- 空檢查
- 大小> 1檢查
我的代碼是:
<%
<%if(payGwList != null && payGwList.size() > 1){ //edited
%>
<tr id="paygwrowid" >
<td width="112" class="content">
<s:label key="payment.paymentgateway"/><span class="requiredData">*</span>
</td>
<td colspan="2" class="content">
<select name="paymentGateway" id="paymentGateway" class="content" style="width:189px;">
<option value="0">--Select--</option>
<%if(payGwList != null && !payGwList.isEmpty()){
for(String paymentGateway : payGwList){
%>
<option value="<%=paymentGateway%>"><%= paymentGateway%></option>
<%}}%>
</select>
</td>
</tr>
<%}%>
但是如何使用<s:if>
標記實現相同的目標,因為我不想在jsp上使用scriptlet。
<% if(payGwList != null){ %>
= <s:if test="payGwList != null">
,而
<select name="paymentGateway" id="paymentGateway" class="content" style="width:189px;">
<option value="0">--Select--</option>
<%if(payGwList != null && !payGwList.isEmpty()){
for(String paymentGateway : payGwList){
%>
<option value="<%=paymentGateway%>"><%= paymentGateway%></option>
<%}}%>
</select>
變得簡單
<s:select list = "payGwList"
listKey = "paymentGateway"
listValue = "paymentGateway"
headerKey = "0"
headerValue = "--Select--"
name = "paymentGateway"
id = "paymentGateway"
cssClass = "content"
cssStyle = "width: 189px;"
/>
在這里甚至沒有必要使用listValue
和listKey
,因為它們使用的是相同的值。
避免使用Scritplet,並確保也通過其UI標簽使用框架的所有功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.