OGNL表示式和Struts2標籤庫
一、OGNL表示式
訪問Action的普通屬性:
<s:property value="msg"/>
訪問Action中物件的普通屬性:<s:property value="user.name"/>
訪問Action中物件的普通方法:<s:property value="user.info()"/>
訪問Action中普通方法:<s:property value="actionMethod()"/>
訪問靜態方法:
<s:property value="@[email protected]()"/>
訪問靜態屬性:<s:property value="@[email protected]"/>
訪問Math類的靜態方法:<s:property value="@@max(2,3)"/>
訪問Action中List|Set|Map:
<s:property value="userList"/>
訪問容器的大小:
<s:property value="map.size()"/>
訪問List中元素的某個屬性的集合(如所有user的name): <s:property value="userList.{name}"/>
訪問List中的元素(物件)的某個屬性的集合中的特定值:<s:property value="userList.{name}[1]"/>
訪問List中的某個元素:
<s:property value="userList[0]"/>
訪問Map中所有的key:<s:property value="map.keys"/>
訪問Map中所有的value:<s:property value="map.values"/>
訪問指定的請求引數(注意:每一個請求引數都是一個數組):
<s:property value="#parameters.parm"/>
二、Struts2標籤庫1、<s:property/>
一般格式:
<s:property value="" default="" escape=""/>
屬性說明:
value:預設當OGNL表達式處理,如果只要其當作字串需加單引號
defaulut:預設值,值當作字串
escape:表示對於得到的的字串是否解析為HTML,預設為true(不解析)
使用示例:
<!--獲取ValueStack中的物件-->
<s:property value="user.name"/>
<!--獲取StackContext中的物件-->
<s:property value="#request.id"/>
2、<s:if test=""/>、<s:elseif test=""/>和<s:else/> <!-- 數值比較 -->
<s:if test="1<2"></s:if>
<!-- 字串比較 -->
<s:if test="'abc'=='abc'"></s:if>
<!-- 獲取parameters中的值做比較(注: #parameters.parm=='parm'不能實現比較) -->
<s:if test="#parameters.parm[0]=='parm'"></s:if>
<!-- 獲取Action中的屬性做比較 -->
<s:if test="user.name=='admin'"></s:if>
3、<s:iterator/>
一般格式:
<s:iterator value="userList" var="u" status="stat" >
屬性說明:
value:OGNL表示式
var:將遍歷的當前物件別名後放至StackContext中
status:當前遍歷的資訊,通過其可取得當前遍歷的count(統計,始於1)、index(索引,始於0)、
even(是否偶數),odd(是否奇數)等
補:另有begin(開始)、end(結束)、step(步長)等
使用示例
<!-- 遍歷普通List -->
<s:iterator value="list" status="stat" >
<s:property value="#stat.index"/> <!-- 當前索引 -->
<s:property value="#stat.odd"/> <!-- 是否為奇數次遍歷 -->
<s:property /> <!-- 獲取當前物件 -->
</s:iterator>
<!-- 遍歷物件List -->
<s:iterator value="userList" var="user" status="stat" >
<s:property value="#user.name" /> <!-- 獲取屬性 -->
<s:property value="#user.name.toUpperCase()" /> <!-- 對屬性新增處理 -->
</s:iterator>
<!-- 遍歷Map -->
<s:iterator value="map" status="stat" >
<s:property /> <!-- 獲取當前key=value -->
<s:property value="key" /> <!-- 獲取當前key -->
<s:property value="value" /> <!-- 獲取當前value -->
</s:iterator>
三、補充
1、使用標籤庫,jsp需新增:
<%@ taglib prefix="s" uri="/struts-tags" %>
2、要訪問靜態類,struts需配置:
<constant name="struts.ognl.allowStaticMethodAccess" value="true"/>
相關推薦
OGNL表示式和Struts2標籤庫
一、OGNL表示式 訪問Action的普通屬性: <s:property value="msg"/> 訪問Action中物件的普通屬性:<s:property valu
OGNL表示式和Struts2標籤
OGNL的全稱是Object Graph Navigation Language(物件圖形導航語言),它是一種強大的表示式語言,開發者可以通過簡單一致的表示式語法來讀取和設定java物件的屬性值,呼叫物件的方法,遍歷整個物件的結構。 操作物件! OGNL有一個上下文(Con
Struts2學習總結(3)--值棧,Ognl表示式,Struts標籤庫,國際化,資料校驗,攔截器
本文包括以下五個部分: 值棧。Ognl表示式。struts2標籤庫。國際化。表單資料校驗攔截器。struts2的執行過程。一、值棧 採用servlet和JSP開發時,servlet通過域物件儲存資料,在JSP頁面通過jstl標籤+el表示式獲取資料。 採用struts2和
09-【el表示式和jstl標籤庫】
el表示式和jstl標籤庫 一:el表示式:表示式語言,jsp頁面獲取資料比較簡單1、el表示式的語法(掌握)el表示式通常取值是獲取作用域物件中的屬性值:${屬性名}=>是el表示式的簡寫的形式跟jquery不一樣,$(選擇器)jquery物件,程式碼寫在js的指令碼塊中完整的書寫形式: 四個作用
JSTL標籤,EL表示式,OGNL表示式,struts2標籤 彙總
Apache Tomcat安裝JSTL 庫步驟如下: 下載jakarta-taglibs-standard-1.1.1.zip 包並解壓,將jakarta-taglibs-standard-1.1.1/lib/下的兩個jar檔案:standard.jar和jstl.jar檔案拷貝到/
JSP和El表示式和JSTL標籤庫使用
JSP 指令是通知JSP引擎如何處理該JSP頁面,不是針對程式設計師的。 共有三種指令: 1.page指令: 1.1. language="java" 預設是java,只能寫ja
Struts標籤、Ognl表示式、el表示式、jstl標籤庫這四者之間的關係和各自作用
我之前雖然會用,但是一直分不清彼此之間有什麼區別,所以查詢資料,將它們進行整合區分,加深瞭解, 一 介紹 1.Struts2的作用 Struts2標籤庫提供了主題、模板支援,極大地簡化了檢視頁面的編寫,而且,struts2的主題、模板都提供了很好的擴充套件性。實現了更
struts2的day03,OGNL表示式和值棧
OGNL:Object-Graph Navigation Language物件圖導航語言,是比EL強大很多倍的語言。 EL:只能從域物件獲取,或者從11個物件裡。${name} ${pageContext.request.contextPath} OGNL:是
Taglib原理和實現 第五章:再論支援El表示式和jstl標籤
1。問題:你想和jstl共同工作。比如,在用自己的標籤處理一些邏輯之後,讓jstl處理餘下的工作。 2。看這個jsp例子: .... <% String name="diego"; request.setAttribute("name",name); %> <c:out&
JSP中EL表示式與JSTL標籤庫
EL表示式格式:${} u s e
struts2進階二---OGNL表示式與OGNL表示式在struts2中的運用
OGNL(物件檢視導航語言)表示式 (EL表示式就是) OGNL不僅僅可以檢視導航還支援比EL表示式更加豐富的功能 使用: 準備工作1:導包(struts包裡面已經有了) 準備工作2: ognl基本語法: 1:取值 取出root中的屬性值
struts2標籤庫
一、 控制標籤 1、 if/elseif/else標籤 使用原理和一般的一樣,只要是在使用的過程中要注意格式,可以直接在jsp頁面使用該標籤。示例如下: <s:set var="age" value="70"/> <s:if test="#a
jsp中的路徑、EL表示式、JSTL標籤庫
7.jsp頁面中的路徑 一般情況下,jsp中路徑問題是和我們之前在servlet中討論的html裡面的路徑問題是一樣的,但是在jsp中有一種情況是要特殊對待的。 如果在jsp頁面的上面寫了這樣一個指令碼: <% String path =
Struts2標籤庫常用標籤
基本概述 對於一個MVC框架而言,重點是實現兩部分:業務邏輯控制器部分和檢視頁面部分。Struts2作為一個優秀的MVC框架,也把重點放在了這兩部分上。控制器主要由Action來提供支援,而檢視則是由大量的標籤來提供支援。 在JavaWeb中,Struts2標籤
Servlet + (JSP、EL表示式、JSTL標籤庫)的 資料流轉
兩個Servlet之間的資料流轉:靠的是作用域 作用域是資料流轉的載體 用request舉例 傳統方式:在jsp介面中使用java指令碼段 servlet的流程: 設定請求編碼格式 req.setCharacterEncoding("utf-8");
java web javaEE ,jsp EL表示式和JSTL標籤if-else if-else四種用法
一.條件運算子${user.gender==1?'男':'女'}二.if()<c:if test="${2>1}">code..</c:if>code會在test屬性為true時執行三.if()-else{}<c:choose> &
JSP中EL表示式以及JSTL標籤庫
在JSP中JSTL標籤庫用的還是比較多的,今天就稍微總結一些JSTL中常用的一些標籤: 1.在JSP中還有一個就是EL表示式經常和JSTL標籤聯合使用 格式:${} ${user.name},${user["name"]} 上面的寫法一樣,但有2種情
[JSP]EL表示式和JSTL標籤遍歷取值物件和陣列與原來的對比
》》取出放進了request的key裡list,list含有物件 原: <%@page import="com.yiki.dbutil.*"%> <%@ page languag
struts2標籤庫struts-tags.tld的使用
工程中使用struts2標籤 一、 struts2標籤定義檔案在struts2-core-2.0.11.1META-INF 下面,檔名為struts-tags.tld 二、 如果工程使用了servlet2.3規範,要做兩件事,就能在工程中使用struts2標
在執行Maven的web專案的時候,頁面上的el表示式和jstl標籤不能用了
後臺沒有任何的報錯,就是一直刷不出SpringMVC傳遞給頁面的資料; ${} <c:out value="" > 這兩個玩意都是現實程式碼,說明頁面沒有識別el和jstl; 首選,需要新增依賴: <dependency><groupI