struts2獲取請求參數的三種方式及傳遞給JSP參數的方式


接上一篇文章
package test;

import com.opensymphony.xwork2.ActionSupport;
import javax.servlet.http.*;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionContext;
import java.util.*;
public class HelloAction extends ActionSupport {
    public String jname = "";
    public String jid = "";
    @Override
    public String execute() throws Exception {
        // TODO Auto-generated method stub
        return super.execute();
    }
    
    private String str = "";

    public String hello() {
        this.str = "hello!!!";
        System.out.println("方法一,把參數作為Action的類屬性,讓OGNL自動填充:");
        System.out.println("jname:" + jname + "  jid:" + jid);
        
        ActionContext context=ActionContext.getContext();  
        HttpServletRequest request = (HttpServletRequest)context.get(ServletActionContext.HTTP_REQUEST);
        System.out.println("方法二,在Action中取得HttpServletRequest對象,使用request.getParameter獲取參數");
        System.out.println("jname:" + request.getParameter("jname") + "  jid:" + request.getParameter("jid"));
        
        Map  parameterMap=context.getParameters();    
        
        String bookName2[]=(String[])parameterMap.get("jname");    
        String bookPrice2[]=(String[])parameterMap.get("jid");    
            
        System.out.println("方法三,在Action中使用ActionContext得到parameterMap獲取參數:");    
        System.out.println("jname: " +bookName2[0]);    
        System.out.println("jid: " +bookPrice2[0]);  
        return "success";
    }

    public String getStr() {
        return str;
    }

    public void setStr(String str) {
        this.str = str;
    }

    public String getJname() {
        return jname;
    }

    public void setJname(String jname) {
        this.jname = jname;
    }

    public String getJid() {
        return jid;
    }

    public void setJid(String jid) {
        this.jid = jid;
    }
}
HelloAction.java

總結: 

方法一:當把參數作為Action的類屬性,且提供屬性的getter/setter方法時,xwork的OGNL會自動把request參數的值設置到類屬性中,此時訪問請求參數只需要訪問類屬性即可。 
方法二:可以通過ActionContext對象Map  parameterMap=context.getParameters();方法,得到請求參數Map,然后通過parameterMap來獲取請求參數。需要注意的是:當通過parameterMap的鍵取得參數值時,取得是一個數組對象,即同名參數的值的集合。 
方法三:通過ActionContext取得HttpServletRequest對象,然后使用request.getParameter("參數名")得到參數值。

 

 

參考:http://www.cnblogs.com/bmbm/archive/2011/11/28/2342273.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM