1. 程式人生 > >Struts2中的通用標籤

Struts2中的通用標籤

1:tag.jsp

<%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="cn.mldn.controller.Person" %>
<%@ page import="java.util.List"%>
<%@ page import="java.util.ArrayList"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!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>Struts2的通用標籤</title>
</head>
<body>
<s:debug></s:debug><br/>
<!-- s:property:列印值棧中的屬性值,對於物件棧,列印值棧中指定物件對應的屬性值 -->
productName:<s:property value="productName"/><br/>
productDesc<s:property value="productDesc"/><br/>
productPrice:<s:property value="productPrice"/><br/><br/>
<!-- s:property:列印值棧中的屬性值,對於Map棧,列印值棧中指定物件對應的屬性值 -->
date:<s:property value="#session.date"/><br/>
name:<s:property value="#parameters.name[0]"/><br/>
<!-- 動態建立一個URL字串 -->
<s:url value="/getProduct" var="url" >
<s:param name="productId" value="1001"></s:param>
<s:param name="date" value="#session.date"></s:param>
</s:url>
${url}<br/><br/>
<s:url value="/getProduct" var="url2" >
<!--對於value值會自動進行OGNL解析!  -->
<s:param name="productId" value="productId"></s:param>
</s:url>
${url2}<br/><br/>
<!-- 建立一個URL請求對應的Action地址 -->
<s:url action="testAction" namespace="/" method="save" var="url3"></s:url><br/>
${url3}<br/><br/>
<!-- set標籤  向page,request,session,application域物件中放入一個屬性值 -->
<s:set name="productName" value="productName" scope="request"></s:set><br/>
productName:${requestScope.productName}<br/>
<%
Person person=new Person();
person.setName("Struts2 OGNL push!");
request.setAttribute("person", person);
person.setAge(60);
%>
<!-- push標籤  會自動進行OGNL解析!-->
<s:push value="#request.person">
name:${name}<br/>
age:${age}
</s:push><br/>
<!-- if,else標籤 可以直接使用值棧中的屬性,會自動進行OGNL解析! -->
<s:if test="productPrice>100">太貴了!</s:if>
<s:elseif test="productPrice> 500">有點貴!</s:elseif>
<s:else >價格合理!</s:else><br/>
<s:if test="age>60">老年</s:if>
<s:elseif test="age>40">中年</s:elseif>
<s:else >青年</s:else><br/>
<!-- iterator標籤:遍歷集合,會把集合中的元素依次壓棧彈棧 -->
<%
List<Person> persons=new ArrayList<Person>();
persons.add(new Person("Struts2",70));
persons.add(new Person("Spring4",80));
persons.add(new Person("Hibernate",60));
request.setAttribute("persons",persons);
%>
<s:iterator value="#request.persons" status="status">
${status.index}-${name}-${age}<br/>
</s:iterator><br/>
<!-- a標籤 會自動進行OGNL解析!-->
<s:iterator value="#request.persons">
<!-- %{}把屬性包裝起來,強制進行OGNL解析 -->
<s:a href="testTag.action?name=%{name}">${name}<br/></s:a>
</s:iterator>
</body>
</html>