OGNL運算式 struts2

來源:互聯網
上載者:User

OGNL運算式 struts2

package com.cola.action;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import javax.servlet.http.HttpServletRequest;import org.apache.struts2.ServletActionContext;import com.cola.bean.User;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;/** * @注釋: jsp<------->Action 傳值:將待傳遞的對象通過set[A-->J] get[J-->A]方法進行傳遞 頁面使用struts2 * 標籤 和OGNL運算式 web對象不用setget方法 jsp頁面 value="#session.[索引值對的鍵名]" 2015年12月10日 jing */@SuppressWarnings("all")public class OGNLAction extends ActionSupport {    private User stu = new User(); // 傳遞對象    private User techer = new User();    private User user = new User();    private List<User> list = new ArrayList<User>(); // 傳遞List    private Map session; //由sruts 封裝通過ActionContext取出    private Map request; //由sruts 封裝通過ActionContext取出    private HttpServletRequest httprequest; //web 內建對象 直接使用    private Map<String,String> map = new HashMap<String,String>();    public OGNLAction() {        // 獲得session 防止每次載入當前Action中的execute()的方法而清空session,特此放入建構函式中        session = ActionContext.getContext().getSession();        //獲得request ActionContext.getContext.get() 傳回型別為Object        request = (Map) ActionContext.getContext().get("request");        //獲得httprequest        httprequest = ServletActionContext.getRequest();    }    @Override    public String execute() throws Exception {        // TODO Auto-generated method stub        System.out.println("***************************");        user.setUsername("James");        user.setPassword("admin");        stu.setUsername("xiaoming");        stu.setPassword("123");        techer.setUsername("zhang");        techer.setPassword("123");        list.add(user);        list.add(stu);        list.add(techer);        // 給session放入值 該session 類型為Map        session.put("sesskey", "fool");        request.put("reqkey", "toofool");        httprequest.setAttribute("httpreqkey", "clever");        //map key可重複        map.put("1", "hello");        map.put("2", "hello");        map.put("3", "hello");        return SUCCESS;    }    public Map<String, String> getMap() {        return map;    }    public void setMap(Map<String, String> map) {        this.map = map;    }    public List<User> getList() {        return list;    }    public User getUser() {        return user;    }    public void setList(List<User> list) {        this.list = list;    }    public void setUser(User user) {        this.user = user;    }    public String show() {        // 傳遞Action內的方法        return "this is show() of function!";    }}<%@ page language ="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><%@taglib uri= "/struts-tags" prefix ="s" %><!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><hr /><h1>this is OGNL jsp! </h1 >訪問普通屬性: <s:property value ="username" /> <br>訪問普通屬性方法: <s:property value ="username.length()" /> <br >訪問對象:<s:property value ="user"/>&nbsp &nbsp &nbsp< a> 已重寫toString</a> <br>訪問對象屬性: <s:property value ="user.username"/> < br>訪問對象屬性: <s:property value ="user.password"/> < br>訪問對象的方法: <s:property value ="user.fun()"/> <br>訪問action的方法: <s:property value ="show()"/> <br>訪問集合屬性: <s:property value ="list"/> <br>訪問集合大小: <s:property value ="list.ssize()"/> <br>遍曆整個集合: <br ><s:iterator value= "list">     <s:property /> <br ></s:iterator>< br><br>遍曆集合中放入對象的 username屬性(法一): <br ><s:iterator value= "list" >     <s:property value ="username"/><br></s:iterator>< br><br>遍曆集合中放入對象的 username屬性(法二): <br ><s:iterator value= "list" var="v" >     <s:property value ="#v.username"/>< br></s:iterator>< br><br>遍曆集合中放入對象的password屬性: <br ><s:iterator value= "list" >     <s:property value ="password"/><br></s:iterator>< br>取得session:<s:property value ="#session.sesskey"/>< br>取得request:<s:property value ="#request.reqkey"/>< br>取得httprequest :<s:property value= "#request.httpreqkey"/><br ><hr><br><h2>struts2標籤:</ h2><h3>property:</ h3>< br><s:property value= "map"/> <br><s:property value= "map.keys"/> <br><s:property value= "map.values"/> <br><s:iterator value= "map">     <s:property value ="key"/> <---------------> <s:property value= "value"/><br ></s:iterator><h3>set:[不常用]</ h3><a>注意value=""中還有單引號,因為""裡面放的是OGNL運算式,字串需跟引號,否則為變數 </a ><s:set var="adminName" value= "'admins'" scope="session" /> <br><s:set var="adminName" value= "'admin'" scope="request" /> <br><s:property value= "#session.adminName"/> <br><s:property value= "#request.adminName"/> <br><s:property value= "#attr.adminName"/> <br><h3>s:bean------->相當於執行個體化bean</h3 ><br ><s:bean name= "com.cola.bean.User" var="doctor" >     <s:param name ="username" value="'cola'" />     <s:param name ="password" value="'123'" /></s:bean>bean:< s:property value= "#doctor"/> <br> <br><h3>if:</ h3><s:if test="3>2"> true</ s:if><s:elseif test= "2==2">==</s:elseif ><s:else> false</ s:else> < br><a>列印 value stack【值棧表】 中的Action: </a ><br ><s:property value= "[0]"/><s:debug></ s:debug></body></html>

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.