1. 程式人生 > >Struts2入門---常用的OGNL標簽的用法

Struts2入門---常用的OGNL標簽的用法

new fix push pan color 自動 back div set


<%
@page import="com.struts.valueStack.PersonComparator"%> <%@page import="java.util.ArrayList"%> <%@page import="java.util.List"%> <%@page import="com.struts.valueStack.Person"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%
@ taglib uri="/struts-tags" prefix="s"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <
body> <s:debug></s:debug>     <br> s:property: 打印值棧中的屬性值的 : 關於於對象棧, 打印值棧中對象的屬性值 <br><br> <s:property value="productName"/> <br><br> 對於 Map 棧, 打印 request , session , application 的某個屬性值 或 某個請求參數的值 <br><
br> <s:property value="#session.date"/> <br><br> <s:property value="#parameters.name[0]"/> <br><br> s:url: 創建一個 URL 字符串的 <br><br> <s:url value="/testUrl" var="url"></s:url> ${url } <br><br> <s:url value="/getProduct" var="url"> <s:param name="productId" value="10002"></s:param> </s:url> ${url } <br><br> <s:url value="/getProduct" var="url"> <!-- 對於 value 值會自動的 進行 OGNL 解析 --> <s:param name="productId" value="productId"></s:param> </s:url> ${url } <br><br> <s:url value="/getProduct" var="url"> <!-- 對於 value 值會自動的 進行 OGNL 解析 , 若不需要自動進行 OGNL 解析 則用單引號引起來--> <s:param name="productId" value="‘productId‘"></s:param> </s:url> ${url } <br><br> <!-- 構造一個請求的 action 的地址 --> <s:url action="testAction" namespace="/zhoujing" method="save" var="url"></s:url> ${url } <br><br> <s:url value="/testUrl" var="url" includeParams="get"></s:url> ${url } <br><br> s:set: 向 page ,request, session ,application 域對象中加入一個屬性值 <br><br> <s:set var="productName" value="productName" scope="page" /> productName:^${pageScope.productName } <br><br> s:push: 把一個對象在標簽開始後壓入到值棧中, 標簽結束時, 彈出值棧. <% Person person = new Person(); person.setName("zhoujing"); person.setAge(21); request.setAttribute("person", person); %> <br><br> <s:push value="#request.person"> push標簽中:${name } </s:push> push標簽外:---^${name }--- <br><br> s:if ,s:else if ,s:else: <br><br> ${requestScope.person.age } <!-- 可以直接使用值棧中的屬性 --> <s:if test="#request.person.age < 18"> 少年 </s:if> <s:elseif test="#request.person.age < 12"> 兒童 </s:elseif> <s:else> 成年 </s:else> <br><br> s: iterator: 遍歷集合 的.把這個遍歷對象裏的每一個元素依次壓入和彈出. <% List<Person> persons = new ArrayList<Person>(); persons.add(new Person("BB",15)); persons.add(new Person("AA",10)); persons.add(new Person("CC",20)); request.setAttribute("persons", persons); %> <br><br> <s:iterator value="#request.persons"> ${name } --${age }<br> </s:iterator> <br><br> s:sort 可以對集合中的元素進行排序 <br><br> <% PersonComparator pc = new PersonComparator(); request.setAttribute("comparator", pc); %> <s:sort comparator="#request.comparator" source="#request.persons" var="persons2"></s:sort> <s:iterator value="#attr.persons2"> ${name } -- ${age }<br> </s:iterator> <br><br> s: date 可以對date對象進行排版 <br><br> <s:date name="#session.date" format="yyyy-MM-dd hh:mm:ss" var="date2"/> date:${date2 } <br><br> s:a 就是一個HTML 連接. <br><br> <s:iterator value="#request.persons"> <!-- 可以使用%{} 把屬性包裝起來, 使其進行強制的 OGNL 解析 --> <s:a href="getPerson.action?name=%{name}">${name }</s:a> </s:iterator> <br><br> <br><br> </body> </html>

最後打印出來的標簽效果:


s:property: 打印值棧中的屬性值的 : 關於於對象棧, 打印值棧中對象的屬性值

周靜

對於 Map 棧, 打印 request , session , application 的某個屬性值 或 某個請求參數的值

17-7-27

zhoujing

s:url: 創建一個 URL 字符串的

/Struts2-3/testUrl

/Struts2-3/getProduct?productId=10002

/Struts2-3/getProduct?productId=10001

/Struts2-3/getProduct?productId=productId

/Struts2-3/zhoujing/testAction!save.action

/Struts2-3/testUrl?name=zhoujing

s:set: 向 page ,request, session ,application 域對象中加入一個屬性值

productName:^周靜

s:push: 把一個對象在標簽開始後壓入到值棧中, 標簽結束時, 彈出值棧.

push標簽中:zhoujing push標簽外:---^---

s:if ,s:else if ,s:else:

21 成年

s: iterator: 遍歷集合 的.把這個遍歷對象裏的每一個元素依次壓入和彈出.

BB --15
AA --10
CC --20


s:sort 可以對集合中的元素進行排序

AA -- 10
BB -- 15
CC -- 20


s: date 可以對date對象進行排版

date:2017-07-27 09:03:25

s:a

BB AA CC

這裏面還包括了 Product 和 Person 兩個java類 和一個comparator 排序所用的類. 就不一一展示了..

Struts2入門---常用的OGNL標簽的用法