Struts的常用ognl表达式

所谓的obgl表达式就是一个式子类型,绝对不是一个具体的标签,这个和struts的百千是完全不同的。

根据传值方式的不同和接收类型的不同,一共分为以下这么几种:

如果是普通的ActionCiontext.getContext().put(),的方式返回数据,那么就可以直接进行接收,反之,如果采用控制反转的方式进行传递,那么句要在与对象前面加一个#就可以,一定要注意,无论是哪一种方式,返回的数据类型都是放到一个map集合里面,所以接收数据的时候应该使用map的对象取值方式,其实里面的表达式最终是要翻译成java代码的,与servlet的本质几乎相同,只是进行简化了而已。下面是我的具体的jsp代码实例:

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@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>Insert title here</title>
</head>
<body>
	<h3>This is Main index Page</h3>
	request 获取到用户名是: :<s:property value="#request.username"/><br/>
	 request获取到面貌是:<s:property value="#request.password"/><br/>
	返回集合列表获取到躯体的username属性值为:<s:property value="#request.user.get(1).getUsername()"/><br/>
	获取session属性为username的值:<s:property value="#session.username"/><br/>
	struts方法获取到user的arraylist的第一个记录的usernam的属性值:<s:property value="#request.user[0].username"/><br/>
	获取到request的大小:<s:property value="#request.size()"/><br/>
	获取use的arraylist的所有username的值的列表<s:property value="#request.user.{username}"/><br/>
	获取map的值: <s:property value="#request.values"/><br/>
	获取值栈的第几个值<s:property value="[0]"/>
	<s:debug></s:debug>
</body>
</html>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章