OGNL访问集合类数据

在这一讲中,你会学到OGNL表达式语言和访问Java集合类(像Arrays,Lists和Maps)的语法。
注意42行到47行,可以用来治理中文乱码。
注意60行到65行,太强大了,不但可以用数组的方括号[],还能用方法的圆括号().我走这弯路是被中文乱码搞怕了,

把字符串单独拿出来放到temp中,我就可以给它转码了!

<%@ page language="java" contentType="text/html; charset=utf-8"
	pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Result</title>
<s:head />
<style type="text/css">
@import url(style.css);
</style>
</head>
<body>
	<div class="content">

		<b>Array Usage Examples</b> <br>
		<hr>
		<b>sampleArray :</b>
		<s:property value="sampleArray" />
		<br> <b>sampleArray.length :</b>
		<s:property value="sampleArray.length" />
		<br> <b>sampleArray[0] :</b>
		<s:property value="sampleArray[0]" />
		<br> <b>[0].sampleArray :</b>
		<s:property value="[0].sampleArray" />
		<br> <b>top.sampleArray :</b>
		<s:property value="top.sampleArray" />
		<br> <br> <b>List Usage Examples</b> <br>
		<hr>
		<b>sampleList :</b>
		<s:property value="sampleList" />
		<br> <b>sampleList.size :</b>
		<s:property value="sampleList.size" />
		<br> <b>sampleList[0] :</b>
		<s:property value="sampleList[0]" />
		<br> <br> <b>Map Usage Examples</b> <br>
		<hr>
		<b>sampleMap[1] :</b>
		<s:property value="sampleMap[1]" />
		<br>
		<%
			String temp = new String();
			temp = (String) request.getAttribute("sampleMap[1]");
			out.println("<br/>刘利新test<br/>");
			out.println(temp + "<br/>");
		%>
		<b>sampleMap.size :</b>
		<s:property value="sampleMap.size" />
		<br>
		<s:select list="#{'make1':'Ford', 'make2':'Honda', 'make3':'Toyota'}"
			name="carMake" label="Select "></s:select>
		<br> <br> <b>Invoking a Method</b> <br>
		<hr>
		<b>user.name :</b>
		<s:property value="user.name" />
		<br> <b>quote() :</b>
		<s:property value="quote()" />
		<br>
		<%
			String temp2 = new String();
			temp2 = (String) request.getAttribute("quote()");
			out.println("<br/>刘利新test<br/>");
			out.println(temp2 + "<br/>");
		%>
	</div>
</body>
</html>

package com.tutorials4u.user;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class SampleAction {

	private  String[] sampleArray;
	private  List<String> sampleList = new ArrayList<String>();
	private  Map<Integer,String> sampleMap = new HashMap<Integer,String>();
	private  String carMake;
	private  User user = new User();
	private  static String STR;
	{
		sampleArray =  new String[]{"项目1","item2","item3"};
		sampleList.add("listItem1");
		sampleList.add("listItem2");
		sampleList.add("listItem3");
		sampleMap.put(new Integer(1), "壹");
		sampleMap.put(new Integer(2), "two");
		sampleMap.put(new Integer(3), "three");
		user.setName("www.188029.net西安小升初");
	}
	static {
		STR = "这是一个静态字符串变量";
	}
	public String execute()
	{
		return "success";
	}
	
	public String quote()
	{
		return "别光想,要行动";
	}
	
	public static String proverb()
	{
		return "Stay Hungry. Stay Foolish";
	}
	public String[] getSampleArray() {
		return sampleArray;
	}
	public void setSampleArray(String[] sampleArray) {
		this.sampleArray = sampleArray;
	}
	public List<String> getSampleList() {
		return sampleList;
	}
	public void setSampleList(List<String> sampleList) {
		this.sampleList = sampleList;
	}
	public Map<Integer, String> getSampleMap() {
		return sampleMap;
	}
	public void setSampleMap(Map<Integer, String> sampleMap) {
		this.sampleMap = sampleMap;
	}
	public String getCarMake() {
		return carMake;
	}
	public void setCarMake(String carMake) {
		this.carMake = carMake;
	}
	public User getUser() {
		return user;
	}
	public void setUser(User user) {
		this.user = user;
	}

	public static String getStaticStr() {
		return STR;
	}

	public static void setStaticStr(String STR) {
		SampleAction.STR = STR;
	}
	
}

原文: http://www.tutorials4u.net/struts2-tutorial/struts2_ognl_expression_language_example.html

源代码:http://pan.baidu.com/share/link?shareid=474244&uk=3878681452

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值