2015-09-27 19 views
0

我是jsp的新手,需要編寫一個jsp獲取post參數以供進一步處理。 參數值必須設置爲新值,並且必須使用POST將它們發送到另一個jsp。 感謝您的幫助。jsp獲取發佈參數並將它們發佈到另一個具有新值的jsp

+0

你可以用'用request.getParameter( 「參數名稱」)'訪問parameters.In的similay方式,發送您的請求到任何其他JSP之前,可以將它們設置爲'request.setParamter(「key」,「value」)' –

+0

@Prince,這個問題指出POST將被用於非轉發。 user3232312你是如何發佈的?你使用的是HttpURLConnection對象嗎? – rickz

+0

據我所知,沒有setParameter只有getParameter?我不知道如何發佈新的價值。我打開任何建議 – user3232312

回答

0

這裏是演示代碼。它使用快速而髒的scriptlet。

<%@ page import="java.net.*,java.io.*" %> 
<% 
    URL url = new URL("http://localhost:8080/target.jsp"); 
    HttpURLConnection conn = (HttpURLConnection)url.openConnection(); 
    conn.setDoOutput(true); 
    conn.setDoInput(true); 
    conn.setRequestMethod("POST"); 
    OutputStream connOut = conn.getOutputStream(); 
    connOut.write("a=111&b=222".getBytes()); //you might need URLEncoder 
    connOut.flush(); 
    connOut.close(); 
    if(HttpURLConnection.HTTP_OK == conn.getResponseCode()){ 
    BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()), 8192); 
     StringBuilder sb = new StringBuilder(); 
    String line = ""; 
    while ((line = in.readLine()) != null) { 
      sb.append(line); 
    } 
     in.close(); 
     out.print(sb.toString()); 
    }else out.print("Response code is " + conn.getResponseCode()); 
%> 

這裏是target.jsp

hello from target.jsp a is ${param.a} and b is ${param.b} 
    and request method is ${pageContext.request.method} 
相關問題