日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OGNL使用

發布時間:2025/3/19 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OGNL使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用多了前端框架很容易忘記各種繁瑣的標簽,這里記錄下ongl:

后臺:

import?java.util.ArrayList;

import?java.util.HashMap;

import?java.util.List;

import?java.util.Map;


import?javax.servlet.ServletContext;

import?javax.servlet.http.HttpServletRequest;

import?javax.servlet.http.HttpSession;


import?org.apache.struts2.ServletActionContext;


public?class?Ognl?extends?BaseAction?{

private?List<String>?testlist=new?ArrayList<String>();??

????

public?List<String>?getTestlist()?{

return?testlist;

}


public?void?setTestlist(List<String>?testlist)?{

this.testlist?=?testlist;

}


public?Map<String,?String>?getTestmap()?{

return?testmap;

}


public?void?setTestmap(Map<String,?String>?testmap)?{

this.testmap?=?testmap;

}

//頂級的哦!!!不加#可以獲取是處于actionContext中的

public?String?getTestname()?{

return?testname;

}


public?void?setTestname(String?testname)?{

this.testname?=?testname;

}


private?Map<String,String>?testmap=new?HashMap<String,String>();??

?

private?String?testname="hello,i?am?in?valuestack";??

public?String?ognl(){

/*

*?OGNL測試代碼

**/

HttpServletRequest?request=ServletActionContext.getRequest();?????//對應request

HttpSession?session=request.getSession();//對應session

ServletContext?context=ServletActionContext.getServletContext();??//?對應application

//構造普通的字符串放到三個環境中

request.setAttribute("request_name",??"來自request中的name");

context.setAttribute("application_name","來自application中的name");

session.setAttribute("session_name",?"來自session中的name");

//構造一個list放到request中

List<String>?request_names=new?ArrayList<String>();

request_names.add("reqname1");

request_names.add("reqname2");

request_names.add("reqname3");

request.setAttribute("req_names",?request_names);??

//構造一個map放到rquest中

Map<String,String>?request_maps=new?HashMap<String,String>();

???request_maps.put("request_map1","request_value1");

???request_maps.put("request_map2","request_value2");

???request_maps.put("request_map3","request_value3");

???request.setAttribute("req_maps",?request_maps);??

???

???//構造list放到session中

List<String>?session_names=new?ArrayList<String>();

session_names.add("sessionname1");

session_names.add("sessionname2");

session_names.add("sessionname3");

session.setAttribute("session_names",?session_names);??//放到request中

//構造一個map放到session中

Map<String,String>?session_maps=new?HashMap<String,String>();

session_maps.put("session_map1","session_value1");

session_maps.put("session_map2","session_value2");

session_maps.put("session_map3","session_value3");

???session.setAttribute("session_maps",?session_maps);

???

???//賦值到ActionContext值棧中的對象

???//ActionContext中的testlist???

???testlist.add("vs144444");

???testlist.add("vs24444");

???testlist.add("vs34444");

???testlist.add("vs44444444");

???

?//ActionContext中的testmap?

???testmap.put("mp1",?"vsmap1");

???testmap.put("mp2",?"vsmap2");

???testmap.put("mp3",?"vsmap3");

???testmap.put("mp4",?"vsmap5555");

???

???//ActionContext中的score

//???testscore.put("語文",95);

//???testscore.put("數學",75);

//???testscore.put("英語",55);

//???testscore.put("生物",65);

//???testscore.put("物理",85);

//???testscore.put("化學",44);

???return?SUCCESS;

}?

}


前臺展示:

<%@?page?language="java"?import="java.util.*"?pageEncoding="UTF-8"%>

<%@?taglib?prefix="s"?uri="/struts-tags"%>

<%

String?path?=?request.getContextPath();

String?basePath?=?request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>


<!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN">

<html>

??<head>

????<base?href="<%=basePath%>">

????

????<title>My?JSP?'list.jsp'?starting?page</title>

????

<meta?http-equiv="pragma"?content="no-cache">

<meta?http-equiv="cache-control"?content="no-cache">

<meta?http-equiv="expires"?content="0">????

<meta?http-equiv="keywords"?content="keyword1,keyword2,keyword3">

<meta?http-equiv="description"?content="This?is?my?page">

<!--

<link?rel="stylesheet"?type="text/css"?href="styles.css">

-->


??</head>

??

??<body>&nbsp;?

????<br><hr>顯示來自各個范圍中的值<br>

actionContext中的testname:<s:property?value="testname"?/>?<br>

request中的request_name:<s:property?value="#request.request_name"?/><br>

application中的session_name:<s:property?value="#application.application_name"?/><br>

session中的session_name:<s:property?value="#session.session_name"?/><br>


遍歷request中的list:request_names<p>

<s:iterator?value="#request.req_names">

<s:property?/><br>?

</s:iterator>


遍歷request中的map:request_maps<p>

<s:iterator?value="#request.req_maps">

<s:property?value="key"/>=<s:property?value="value"?/><br>

</s:iterator>


遍歷session中的list:session_names<p>

<s:iterator?value="#session.session_names">

<s:property?/>?<br>

</s:iterator>


遍歷session中的map:session_maps<p>

<s:iterator?value="#session.session_maps">

<s:property?value="key"/>=<s:property?value="value"?/><br>

</s:iterator>


遍歷ActionContext中的testlist=========================<p>

<s:iterator?value="testlist"?>

<s:property?/><br>

</s:iterator>


遍歷actionContext中的testmap<p>

<s:iterator?value="testmap">

<s:property?value="key"/>=<s:property?value="value"?/><br>

</s:iterator>




?直接遍歷list<p>

<s:iterator?value="{'第一年','第二年','第三年'}"?>

<s:property?/><br>

</s:iterator>


直接遍歷map?<p>

<s:iterator?value="#{'luo1':'羅先橋1','luo2':'羅先橋2','luo3':'羅先橋3'}">

<s:property?value="key"?/>:<s:property?value="value"/><br>

</s:iterator>


遍歷actionContext中的testscore這個map<p>

<s:iterator?value="testscore">

<s:property?value="key"/>:

<s:if?test="value<60">

不及格<br>

</s:if>

<s:elseif?test="value>=60?&&?value<75">

及格<br>

</s:elseif>

<s:elseif?test="value>=75?&&?value<85">

良好<br>

</s:elseif>

<s:else>

優秀<br>

</s:else>

</s:iterator>

??</body>

</html>


總結

以上是生活随笔為你收集整理的OGNL使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。