struts2物件取值
字串N一定要用“”雙引號包含,從test的包含則用單引號 ‘ ’,如果相反,則不能正確判斷該屬性
是否與該字串相等。
正確:
<s:if test='activityBean.searchForce=="N" '>
錯誤:
<s:if test="activityBean.searchForce=='N' ">
因為java是強型別語言,單引號表示char型別,只能賦給一個字元給char型別,
而雙引號則表示String型別
所以我的activityBean.searchForce屬性是String型別,那麼N必須要用雙引號
/*******************************************
例如這個語句
要判斷struts堆疊裡systemSettingModel.settingValue 是否等於 "A"
寫成
<s:if test="systemSettingModel.settingValue == 'A'">...</s:if>
是不對的。
這樣A被認為是字元,而systemSettingModel.settingValue是單字元的字串,不匹配
應寫成
<s:if test='systemSettingModel.settingValue == "A"'>。。。 </s:if>
或
<s:if test="systemSettingModel.settingValue == \"A\"">... </s:if>
參考:
http://struts.apache.org/2.1.8.1/docs/why-wont-the-if-tag-evaluate-a-one-char-string.html
另外systemSettingModel.settingValue的值可以這樣取得
${systemSettingModel.settingValue}
<s:property value="systemSettingModel.settingValue"/>
<s:property value="#request.systemSettingModel.settingValue"/>
#表示不在struts堆疊裡,沒有#表示從struts堆疊裡取
/***********************************
Struts2堆疊
struts2中的標籤
s:a 中的href 什麼時候使用“# ” 什麼時候該用“%{ }” 什麼時候該用“%{# }”
什麼時候用“”
s:select 中的list 什麼時候使用“# ” 什麼時候該用“%{ }” 什麼時候該用“%{# }” 什
麼時候用“”
s:if 中的test 什麼時候使用“# ” 什麼時候該用“%{ }” 什麼時候該用“%{# }” 什
麼時候用“”
s:iterator 中的value什麼時候使用“# ” 什麼時候該用“%{ }” 什麼時候該用“%{# }” 什
麼時候用“”
s:checkboxlist 中的list 什麼時候使用“# ” 什麼時候該用“%{ }” 什麼時候該用“%{# }”
什麼時候用“”
Struts2中有值堆疊和堆疊上下文的概念,你用 <s:debug />可以看出.
S標籤中用#可以取出堆疊上下文中的存放的物件.
用%{}可以取出存在值堆疊中的Action物件,直接呼叫它的方法.例如你的Action如果繼承了ActionSupport
.那麼在頁面標籤中,用%{getText('key')}的方式可以拿出國際化資訊. %{#}, 這是JSP2.1最新規範中
的語法,是Struts2為其解決相容性問題而寫成%{#}的
在域物件中使用%{#}
比如%{#session.user.userName}
將獲得user物件的 userName屬性值
%{}強調的是從你設定的root點取
%{}用於計算表示式
如%{10+20}結果將輸出30
如%{"a"+"b"}結果將輸出"ab"
#通常強調從上下文取
如#parameters.name[0]等價於request.getParameter("name")
如#session.name等價於session.getAttribute("name")
如#request.name等價於request.getAttribute("name")
%{#}仍然用於計算表示式,只不過操作元可以是變數
如先定義一個變數
<s:set name="age" value="%{25}"/>
則%{#age}將輸出25,也可以省略"#",寫為%{age}
若將age加10,可這麼寫:
%{#age+10},將輸出30.不能省略"#"。也就說變數用於計算時不能省略"#"
這裡好多視訊下載學習http://www.itcast.cn/channel/video.shtml,喜歡的看看
相關推薦
struts2物件取值
轉發的: 字串N一定要用“”雙引號包含,從test的包含則用單引號 ‘ ’,如果相反,則不能正確判斷該屬性 是否與該字串相等。 正確: <s:if test='activityBean.searchForce=="N" '> 錯誤: <s:if test="activityBean.sear
陣列取值vs物件取值
物件外面是花括號{ },陣列外面是方括號[ ] 。 物件取值,是物件名.下標 陣列取值,是陣列名[下標] 下面是例子: 外面是花括號,這是物件stations,物件取值stations.a,取到的值如下圖 陣列外面是方括號[],所以現在取出來的
json字串資料轉成json物件取值方式
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import io.swagger.models.auth.I
前端接收的json物件取值問題
後端給前端傳送資訊的格式 前端只能接收json物件型別的資料,使用之前先匯入阿里巴巴的json的jar包。名字如下圖所示,去白百度下載會即可。 阿里巴巴的jar包能把所有型別的資料轉換成json物件,但是前端如果想要顯示資料,只能接收陣列型別的資料。這裡我們把資
Json陣列物件取值
1.資料格式 {"data":[{"username":"xxx","avatar":"xxx","gift_name":"xxx"},{"username":"xxx","avatar":"xxx","gift_name":"xxx"},{"username":"xxx","ava
Struts2標籤取值方式一/二
Struts2標籤取值方式 1.標籤取值方式一 —— <s:property value="" /> 當Action的valueStack中有該屬性的值時,只需直接使用該屬性的名字即可; 當Action的valueStack中沒有該屬性的值
Struts2-valuestack取值問題
如果後臺用的是valuestack的set方法存入值那麼用下面的表示式取值 <s:property value="obj.property"/> //物件名.屬性 如果用push方法的話
Struts2標籤取值方式
1.標籤取值方式一 通過<s:property value="" />取值 當Action的valueStack中有該屬性的值時,只需直接使用該屬性的名字即可; 當Action的valueStack中沒有該屬性的值時,比如在sessi
json字串轉js物件取值
jSON 例項 - 來自字串的物件 建立包含 JSON 語法的 JavaScript 字串: var txt = '{ "employees" : [' + '{ "firstName":"Bill" , "lastName":"Gates" },' + '{ "fir
陣列或物件怎麼儲存到sessionStorage或localStorage並取值
var ary = [1,2,3] var json = { x:1, b:2 } 儲存 sessionStorage.setItem('arr', JSON.stringify(ary))
c標籤遍歷取map中list集合中的物件屬性值
今天寫批量列印功能時,後臺傳到前端的資料是map集合,以前沒用過,取值時出現了問題,在這裡記錄一下,備忘和複習時看: 1.前端主要部分如下: <body> <c:forEach var="fee" items="${map[\"EtImportFees\
struts2動態下拉框和複選框取值
下拉框取值 action 程式碼: //得到下拉框的list值,並傳入頁面 public String execute() throws Exception { ActionContext context=ActionContext.getCo
struts2從form取值的三種方式
有三種方式,1,使用預設的action的傳遞方式。2,自定義一個vo,在action中使用這個vo3,使用ModelDriven的方式。下面分別敘述。1,使用預設的action的傳遞方式。action檔案如下:package struts2.login;public cla
struts2中s:select標籤從前後臺的取值
1.第一種: <s:select list="{'aa','bb','cc'}" headerKey="00" headerValue="0"></s:select> 2.第二種: <s:select list="#{1:'aa',2:'
Struts2 checkbox複選框 傳值/取值
jsp 程式碼: <%@ page language="java" import="java.util.*" pageEncoding="GB18030"%> < prefix="c" uri="http://java.sun.com/jsp/jst
c:foreach 遍歷一個物件集合 ,取值顯示
首先要引入 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <c:forEach var="p" items="${articleModels}">
[JSP]EL表示式和JSTL標籤遍歷取值物件和陣列與原來的對比
》》取出放進了request的key裡list,list含有物件 原: <%@page import="com.yiki.dbutil.*"%> <%@ page languag
JavaScript中物件屬性通過點(.)和方括號([])取值的不同之處
JavaScript中物件屬性通過點(.)和方括號([])取值的不同之處 1、點操作符: 靜態的。右側必須是一個以屬性名稱命名的簡單識別符號。屬性名用一個識別符號來表示。識別符號必須直接出現再js程式中,它們不是資料型別,因此程式無法修改它們。 2、中括號操作符: 動態的。方括號裡必
struts2中從頁面取值的三種方式
在中我們建立了第一個struts程式,那麼如何把登陸頁面中的使用者名稱傳遞到登入成功的頁面中呢?有三種方式,1,使用預設的action的傳遞方式。2,自定義一個vo,在action中使用這個vo3,使用ModelDriven的方式。下面分別敘述。1,使用預設的action的
Struts2 Session中賦值與頁面取值
Action類中賦值 TBranchbranch = new TBranch(); branch.setId(16l); branch.setCode("4600")