一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

值棧和OGNL使用

 擎天豬mpnlajkd 2017-06-12
引入標簽
<%@taglib prefix="s" uri="/struts-tags" %>

參考項目

值棧  
值棧是對應每個請求對象的一套內存數(shù)據(jù)的封裝,Struts2 會給每個請求創(chuàng)建一個新的值棧。
值棧能夠線程安全地為每個請求提供公共的數(shù)據(jù)存取服務。

OGNL 引入
 OGNL 是對象圖導航語言 Object-Graph Navigation Language 的縮寫,它是一種功能強大的表達式語言。
OGNL 訪問 ValueStack 數(shù)據(jù) <s:property value=”account” />
OGNL
訪問 ActionContext 數(shù)據(jù)
訪問某個范圍下的數(shù)據(jù)要用
#
#parameters
請求參數(shù) request.getParameter(...);
#request 請求作用域中的數(shù)據(jù) request.getAttribute(...)
#session 會話作用域中的數(shù)據(jù) session.getAttribute(...);
#application 應用程序作用域中的數(shù)據(jù) application.getAttribute(...);
#attr 按照 page  request.getAttribute()  session  application 順序查找值  

Action層
import java.util.Map;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.util.ValueStack;
public class HelloAction extends ActionSupport{
private static final long serialVersionUID = 1L;
@Override
public String execute() throws Exception {
ActionContext actionContext=ActionContext.getContext();
// 獲取狹義上的值棧
ValueStack valueStack=actionContext.getValueStack();
valueStack.set("name", "張三(valueStack)");
valueStack.set("age", 11);
Map<String, Object> session=actionContext.getSession();
session.put("name", "王五(session)");
session.put("age", 13);
Map<String, Object> application=actionContext.getApplication();
application.put("name", "趙六(application)");
application.put("age", 14);
student=new Student("小扒", 12); 
        
students=new ArrayList<Student>(); 
students.add(new Student("老九",13)); 
students.add(new Student("老十",14)); 

studentMap=new HashMap<String,Student>(); 
studentMap.put("goodStudent", new Student("學霸",20)); 
studentMap.put("badStudent", new Student("學渣",19)); 
return SUCCESS;
}
}

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./TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<%
request.setAttribute("name", "李四(request)");
request.setAttribute("age", "12");
%>
</head>
<body>

獲取狹義上的值棧數(shù)據(jù):
<s:property value="name"/>
<s:property value="age"/><br/>

請求參數(shù):
<s:property value="#parameters.name"/>
<s:property value="#parameters.age"/><br/>

request:  
<s:property value="#request.name"/>
<s:property value="#request.age"/><br/>

session:  
<s:property value="#session.name"/>
<s:property value="#session.age"/><br/>

application:
<s:property value="#application.name"/>
<s:property value="#application.age"/><br/>

attr取值:
<s:property value="#attr.name"/>
<s:property value="#attr.age"/><br/>

ognl訪問javaBean對象:
<s:property value="student.name"/>
<s:property value="student.age"/><br/>

ognl訪問List集合:
<s:property value="students[0].name"/>
<s:property value="students[0].age"/><br/>
<s:property value="students[1].name"/>
<s:property value="students[1].age"/><br/>

ognl訪問Map:
<s:property value="studentMap['goodStudent'].name"/>
<s:property value="studentMap['goodStudent'].age"/><br/>
<s:property value="studentMap['badStudent'].name"/>
<s:property value="studentMap['badStudent'].age"/><br/>

</body>
</html>

OGNL 訪問靜態(tài)方法和屬性
package com.mon;
public class MyStatic {
public static final String str="Java知識";
public static String printUrl(){
System.out.println("http://www.");
return "http://www.";
}
}  

Struts.XML
  <!-- 訪問靜態(tài)屬性要提取的常量 -->
  <constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant> 

JSP
訪問靜態(tài)屬性: <s:property value="@com.mon.MyStatic@str"/><br/>
訪問靜態(tài)方法:<s:property value="@com.mon.MyStatic@printUrl()"/>

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    日韩欧美综合中文字幕 | 国内外免费在线激情视频| 亚洲综合伊人五月天中文 | 草草视频福利在线观看| 欧美成人黄色一级视频| 亚洲一区二区三区四区| 欧美精品久久一二三区| 国产成人精品视频一二区| 亚洲精品小视频在线观看| 日本加勒比在线观看不卡| 日本一本在线免费福利| 99久久人妻精品免费一区| 最新国产欧美精品91| 日韩少妇人妻中文字幕| 不卡视频在线一区二区三区| 91爽人人爽人人插人人爽| 高清在线精品一区二区| 亚洲欧美日本国产有色| 亚洲精品熟女国产多毛| 情一色一区二区三区四| 国产欧洲亚洲日产一区二区| 日韩欧美一区二区黄色| 精品少妇人妻av一区二区蜜桃| 色一情一乱一区二区三区码| 免费播放一区二区三区四区| 狠狠干狠狠操亚洲综合| 91麻豆精品欧美一区| 国产一区国产二区在线视频| 亚洲男人天堂成人在线视频| 亚洲少妇人妻一区二区| 国产91麻豆精品成人区| 国产又粗又猛又爽色噜噜 | 色哟哟国产精品免费视频| 日韩欧美三级中文字幕| 亚洲最新的黄色录像在线| 日韩蜜桃一区二区三区| 国产成人国产精品国产三级| 国产女优视频一区二区| 91午夜少妇极品福利| 午夜传媒视频免费在线观看| 绝望的校花花间淫事2|