Struts2 通過ognl表達式實現(xiàn)投影
更新時間:2017年09月28日 16:03:23 作者:光仔December
這篇文章主要介紹了Struts2 通過ognl表達式實現(xiàn)投影,具有一定參考價值,需要的朋友可以了解下。
projection(投影):俗話說就是過濾,就是過濾器把符合條件的過濾出來
struts.xml:
<package name="ognl" namespace="/ognl" extends="struts-default"> <action name="pro" class="cn.edu.hpu.ognl.OgnlAction4"> <result name="success">/ognl.jsp</result> </action> </package>
OgnlAction4.java:
package cn.edu.hpu.ognl; import java.util.ArrayList; import cn.edu.hpu.mode.User; import com.opensymphony.xwork2.ActionSupport; public class OgnlAction4 extends ActionSupport{ private ArrayList<User> users; public OgnlAction4(){ users=new ArrayList<User>(); User user1=new User(); user1.setAge(18); User user2=new User(); user2.setAge(1); User user3=new User(); user3.setAge(21); User user4=new User(); user4.setAge(23); users.add(user1); users.add(user2); users.add(user3); users.add(user4); } public ArrayList<User> getUsers() { return users; } public void setUsers(ArrayList<User> users) { this.users = users; } @Override public String execute() throws Exception { // TODO Auto-generated method stub return "success"; } }
鏈接:
過濾:<a href="<%=basePath%>ognl/pro" rel="external nofollow" >OGNL9</a><br/>
結(jié)果界面:
<!-- 正則表達式中,"^"代表開頭,"$"代表結(jié)尾,"?"代表過濾 --> <li>投影(過濾):<s:property value="users.{?#this.age==1}.{age}"/><br/> <!-- 找到所有年齡大于1的user,取第一個 --> <li>投影:<s:property value="users.{^#this.age>1}.{age}"/><br/> <!-- 找到所有年齡大于1的user,取最后一個 --> <li>投影:<s:property value="users.{$#this.age>1}.{age}"/><br/> <!-- 找到所有年齡大于1的集合,判斷這個集合是否為空 --> <li>投影:<s:property value="users.{$#this.age>1}.{age} == null"/><br/>
結(jié)果:
投影(過濾):[1]
投影:[18]
投影:[23]
投影:false
總結(jié)
以上就是本文關(guān)于Struts2 通過ognl表達式實現(xiàn)投影的全部內(nèi)容,希望對大家有所幫助。有問題請留言,小編會及時回復(fù)大家的。感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Java源碼解析之HashMap的put、resize方法詳解
這篇文章主要介紹了Java源碼解析之HashMap的put、resize方法詳解,文中有非常詳細的代碼示例,對正在學(xué)習(xí)java的小伙伴們有很大的幫助,需要的朋友可以參考下2021-04-04Mybatis-Plus字段策略FieldStrategy的使用
本文主要介紹了Mybatis-Plus字段策略FieldStrategy的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08