struts 2標籤之s:if 、s:iterator注意的問題
由於粗心,也沒有相應總結,竟然將JSTL標籤與Struts2標籤混淆,從而導致了一些細節上面的問題,今天我給自個總結下,以
後不要再犯這樣的錯誤。
總喜歡在s:if標籤裡面使用$,導致各種資料讀不出來;
strust 2 if 標籤的單個字元字串比較的問題;
還有就是啥時候用#,啥時候不用#,啥時候可以省略#。
程式碼1、
<select id="typeProvider" name="typeProvider" style="width: 200px;"> <s:iterator value="providers" var="provider"> <option value="${provider.id}" <s:if test="id==equipment.provider.id">selected="selected"</s:if> >${provider.name} </option> </s:iterator> </select>
程式碼作用:跳轉到修改資料頁面時,下拉列表預設選中的為本裝置所對應的供應商
equipment(本裝置物件)、providers(所有供應商List)均有後臺Action提供geter/setter方法。
這行程式碼(正確):
<s:if test="id==equipment.provider.id">selected="selected"</s:if> >${provider.name}
這個位置,總是寫成(錯誤):
後面發現可以這樣寫(也正確):<s:if test="provider.id == equipment.provider.id">selected="selected"</s:if> >${provider.name}
<s:if test=">#provider.id==equipment.provider.id">selected="selected"</s:if> >${provider.name}
其實原理還真是不怎麼清楚,只知道如果action中如果聲明瞭變數,並賦之以set,get方法,那麼接收引數是不需要使用#,假如就是普通的request傳遞,則需要用#。哪位大神如果知曉,希望能夠指點一二。
程式碼2、
<span style="white-space:pre"> </span><s:iterator value="equipmentList" var="equipment" status="status"> <tr style="height: 25px; text-align: center;"> <td><s:property value="#status.index+1"/></td> <td>${equipment.terorder}</td> <td>${equipment.tertype}</td> <td>${equipment.provider.name}</td> <td> <s:if test="#equipment.isuser==1"> 啟用 </s:if> <s:if test="isuser == 0"> 禁用 </s:if> </td> <td>${equipment.opercard}</td> <td>${equipment.bizcard}</td> </tr> </s:iterator>
還是得說說這個,不過卻還要其他問題,程式碼如下(正確):(注意此時的tm_onlinestatus為String型別)
<s:if test="%{#items.tm_onlinestatus == 1}">
<span style="color:blue">線上</span>
</s:if>
<s:if test="%{#items.tm_onlinestatus == 0}">
<span style="color:red">下線</span>
</s:if>
不過這樣寫就不對啦(錯誤)!
<span style="white-space:pre"> </span><s:if test="%{#items.tm_onlinestatus == '1'}">
<span style="color:blue">線上</span>
</s:if>
<s:if test="%{#items.tm_onlinestatus == '0'}">
<span style="color:red">下線</span>
</s:if>
還要一種寫法,估計更容易理解(正確):
<s:if test='%{#items.tm_onlinestatus == "1"}'>
<span style="color:blue">線上</span>
</s:if>
<s:if test='%{#items.tm_onlinestatus == "0"}'>
<span style="color:red">下線</span>
</s:if>
這裡的話:因為java是強型別語言,單引號表示char型別,只能賦給一個字元給char型別,而雙引號則表示String型別,因為tm_onlinestatus屬性是String型別,那麼必須要用雙引號。然後對於為何可以不用直接 == 1 這個的話也不是很明白,同樣希望指點一二。
相關推薦
struts 2標籤之s:if 、s:iterator注意的問題
由於粗心,也沒有相應總結,竟然將JSTL標籤與Struts2標籤混淆,從而導致了一些細節上面的問題,今天我給自個總結下,以 後不要再犯這樣的錯誤。 總喜歡在s:if標籤裡面使用$,導致各
Struts2中<s-if>和<s-iterator>標籤的使用
A:<s:if>判斷字串的問題: 1、判斷單個字元:<s:if test="#session.user.username=='c'"> 這樣是從session中取出username的值,並且判斷其是否為c,但是這樣判斷是不正確的,這樣判斷的話,根本判斷不出來,要改成下面這樣: <
RxJava 2.x 之圖解建立、訂閱、發射流程
從一個例子開始 建立過程 訂閱過程 發射過程 小結 從一個例子開始 Observable.create(new ObservableOnSubscribe<Integer>() { @Override
Ngixn運維之七 if、set、return
Ngixn運維之七 if、set、return set return if 正則表示式匹配: 檔案及目錄匹配判斷: AND,OR多重判斷 set Syntax: set $variable
struts 2 標籤
struts標籤 1.1 通用標籤 1.1.1 資料標籤 property set scope=“action”,action=request+actionContext push 修改頁面 param blue 注1:它是子標籤 注2:url/action date java.
SQL語句學習(2)之基本查詢、排序、聚合函式、分組查詢
一、 基本查詢 1. 欄位(列)控制 1) 查詢所有列 SELECT * FROM 表名; SELECT * FROM emp; --> 其中“*”表示查詢所有列 2) 查詢指定列 SELECT 列1 [, 列2, ... 列N] FROM 表名; SEL
Struts 2 標籤上傳GB級別檔案或多檔案
struts.xml配置: <constant name="struts.multipart.maxSize" value="4096000000" />上面這個全域性配置,也需要設定,預設是2M,必須也改成允許上傳的檔案大小 對於檔案型別的過濾,優先順序
將模板檔案保持原目錄,呼叫標籤__TMPL__/portal/ images、模板檔案注意事項
1、放置模板檔案 __TMPL__/portal/ images :批量替換路徑 __ROOT__ 網站根目錄 這樣就可以原模板目錄結構不變,呼叫非常方便,快速實現模板製作 模板注意事項:模板檔案必須配合一個json檔案,不然預設在後臺選擇時
struts標籤怎麼判斷request裡的屬性是否為空 <s:if test="${list==null}"> </s:if>
<s:if test="${weigou}==999"> //錯誤的 ${list==null} ,$實在strtus的配置檔案中取值用的,不是在jsp頁面裡取值的的吧,所以上面錯誤; 下面是對的 <s:if test="#request.weigou==999}"
[轉載]Linux進程狀態解析之R、S、D、T、Z、X
AI 關心 避免 內核函數 正在執行 void 並不會 轉變 說明 Linux是一個多用戶,多任務的系統,可以同時運行多個用戶的多個程序,就必然會產生很多的進程,而每個進程會有不同的狀態。 Linux進程狀態:R (TASK_RUNNING),可執行狀態。只有在該狀態的進程
strus2 <s:if>標籤 判斷字串
//可以直接判斷後臺傳來的引數 <s:if test="can1 !=null && can1 != '' "> //可以判斷後臺傳來的引數是否包含某些字元 等 <s:if test="can1.contains('#')">
struts標簽怎麽判斷request裏的屬性是否為空 <s:if test="${list==null}"> </s:if>
col cti 16px 頁面 是否 null font code 如果 <s:if test="${weigou}==999"> //錯誤的 ${list==null} ,$實在strtus的配置文件中取值用的,不是在jsp頁面裏取值的的吧,所
Linux程序狀態解析 之 R、S、D、T、Z、X (主要有三個狀態)
linux是一個多使用者,多工的系統,可以同時執行多個使用者的多個程式,就必然會產生很多的程序,而每個程序會有不同的狀態。 Linux程序狀態:R (TASK_RUNNING),可執行狀態。 只有在該狀態的程序才可能在CPU上執行。而
Android之格式變數%1$s、%1$d的用法
作用:動態的拼接字串,使程式碼更簡潔,更易維護和擴充套件。 1、整型 如,“他的手裡有XX個蘋果”,這個XX需要從服務或者別的地方獲取,那麼在程式碼中就可以這麼寫: <string name="number">他的手裡有%1$d個蘋果</string> 同時,
在頁面設定變數並使用Struts2 s:if 標籤判斷
因為<s:if>要比較的值必須放在作用域page,request,session...裡,所以先把值放到request裡 <% int apprType = 1;
系統部署之B/S結構、C/S結構剖析
對於企業在部署其業務系統時,是選擇B/S結構還是選擇C/S結構,小編可不敢妄下斷言,不過由於工作的原因,筆者接觸過典型的C/S結構也接觸過B/S結構,工作內容主要是對公司的日常IT事務進行支援和維護,作為IT維護人員明顯感到C/S結構與B/S結構的不同,在此小編簡單整理了些資料與大家分享。 C/S結構,
struts2 s:if標籤中 #,%{},%{#}的使用方法
<s:if>判斷字串的問題: 1、判斷單個字元:<s:if test="#session.user.username=='c'"> 這樣是從session中取出username的值,並且判斷其是否為c,但是這樣判斷是不正確的,這樣判斷的話
使用struts2標籤庫中的s:if判斷URL引數的一些問題
目標:實現不同jsp頁面呼叫同一list.jsp頁面時,list.jsp頁面中的顯示內容不一樣,且list.jsp頁面有分頁功能 方法:在其他jsp頁面訪問list.jspjsp頁面時,傳入一個URL引數select,且在list.jsp中利用隱
c語言入門之專案3.1——s=1+2*2+3*3+4*4+5*5....n*n
編譯程式碼 /*********************** **專案【3.1】求s=1+2*2+3*3+4*4+5*5....n*n** **題目:利用while迴圈求s=1+2*2+3*3+4*4
HTML第一課:B/S結構&C/S結構、HTML、六種常用標籤
一、B/S和C/S結構 1.C/S(client/server)結構流程 客戶端將使用者請求通過網路,傳送給目標伺服器,伺服器接收到請求後作出響應,再通過網路將請求傳遞給使用者。 2