getParameter.java :  » Scripting » Pnuts » org » pnuts » servlet » Java Open Source

Java Open Source » Scripting » Pnuts 
Pnuts » org » pnuts » servlet » getParameter.java
/*
 * @(#)getParameter.java 1.2 04/12/06
 *
 * Copyright (c) 1997-2004 Sun Microsystems, Inc. All Rights Reserved.
 *
 * See the file "LICENSE.txt" for information on usage and redistribution
 * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
 */
package org.pnuts.servlet;

import pnuts.servlet.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import java.io.*;
import pnuts.lang.Context;
import pnuts.lang.PnutsFunction;
import pnuts.lang.PnutsException;

/*
 * getParameter(name {, encoding})
 */
public class getParameter extends PnutsFunction {

  public getParameter(){
    super("getParameter");
  }

  public boolean defined(int narg){
    return (narg == 1 || narg == 2);
  }

  protected Object exec(Object[] args, Context context){
    int nargs = args.length;
    if (nargs != 1 && nargs != 2){
      undefined(args, context);
      return null;
    }
    String param = (String)args[0];
    Map map = (Map)context.get(PnutsServlet.SERVLET_PARAM);
    if (map == null){
      HttpServletRequest request =
        (HttpServletRequest)context.get(PnutsServlet.SERVLET_REQUEST);
      String enc;
      if (nargs == 1){
        enc = ServletEncoding.getDefaultInputEncoding(context);
      } else {
        enc = (String)args[1];
      }
      map = (Map)readParameters.getInstance().call(new Object[]{request, enc}, context);
    }
    return map.get(param);
  }

  public String toString(){
    return "function getParameter(name {, encoding})";
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.