Mega Code Archive

 
Categories / Java / JSP
 

JSP post

//jspPost.jsp /* <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> <c:set var="mapParams" value="${param}" /> <jsp:useBean id="postBean" class="com.rntsoft.PostBean" > <jsp:setProperty name="parameters" value="${mapParams}" /> <jsp:setProperty name="url" value="http://localhost:8080/home/viewPost.jsp" /> </jsp:useBean> <jsp:getProperty id="postBean" property="post"/> */ //viewPost.jsp /* <%@page contentType="text/html"%><%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> <html> <head><title>Post Data Viewer</title></head> <body> <h2>Here is your posted data</h2> <c:forEach var="map_entry" items="${param}">     <strong><c:out value="${map_entry.key}" /></strong>:    <c:out value="${map_entry.value}" /><br><br> </c:forEach> </body> </html> */ package com.rntsoft; import java.util.Map; import java.util.Iterator; import java.util.Map.Entry; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.methods.PostMethod; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.HttpException; public class PostBean implements java.io.Serializable { private Map parameters; private String url; public PostBean(){ } public void setParameters(Map param){   if (param != null)       parameters = param; }  public Map getParameters(){     return parameters;     }      public void setUrl(String url){   if (url != null && !(url.equals("")))       this.url=url; }  public String getUrl(){     return url;     }    public String getPost() throws java.io.IOException,HttpException{     if (url == null || url.equals("") || parameters == null)         throw new IllegalStateException("Invalid url or parameters in PostBean.getPost method.");     String returnData = "";     HttpClient httpClient = new HttpClient();     PostMethod postMethod = new PostMethod(url);     //convert the Map passed into the bean to a NameValuePair[] type     NameValuePair[] postData = getParams(parameters);       //the 2.0 beta1 version has a    //PostMethod.setRequestBody(NameValuePair[])     //method, as addParameters is deprecated     postMethod.addParameters(postData);     httpClient.executeMethod(postMethod);      //A "200 OK" HTTP Status Code     if (postMethod.getStatusCode() == HttpStatus.SC_OK) {         returnData= postMethod.getResponseBodyAsString();     } else {         returnData= "The POST action raised an error: " + postMethod.getStatusLine();     }     //release the connection used by the method     postMethod.releaseConnection();     return returnData;    }//end getPost  private NameValuePair[] getParams(Map map){             NameValuePair[] pairs = new NameValuePair[map.size()];           //Use an Iterator to put name/value pairs from the Map              //into the array           Iterator iter = map.entrySet().iterator();           int i = 0;           while (iter.hasNext()){                           Map.Entry me = (Map.Entry) iter.next();              pairs[i] = new NameValuePair(                        (String)me.getKey(),((String[]) me.getValue())[0]);             i++;           }           return pairs;  }//end getParams }