如何从servlet中的表单中获取其他值

时间:2014-01-09 19:55:41

标签: java forms servlets

我的HTML

<html>
<head>
<title>My Page</title>
</head>
<body>
<h1 align = "center">URL Builder</h1>

<div align="center">
    <select id="Type1" name="Aoldropdown">
         <option value="Select">Select Unit</option>

        <option value="Fixed">Fixed Ad Units</option>
        <option value="Scrolled">Scrolled Ad Units</option>
        <option value="Custom">Custom Ad Units</option>
    </select>
    <form name="Aolform" id="aol1" style = "display:none" align ="center" action="/URLBuilder/URLRetriever" method="GET">
        <select name="Sizedropdown">
            <option value="300x1050">300x1050</option>
            <option value="300x600">300x600</option>
            <option value="300x250">300x250</option>
            <option value="728x90">728x90</option>
            <option value="970x250">970x250</option>
            <option value="320x50">320x50</option>
            <option value="768x90">768x90</option>
            <option value="1024x90">1024x90</option>
        </select>
        <br />Base URL:
        <input type="text" name="baseURL" />
        <br />Title Number:
        <input type="text" name="titleNo" />
        <br />Placement ID:
        <input type="text" name="placementId" />
        <br />Flight ID:
        <input type="text" name="flightId" />
        <br />
        <input type="submit" value="Retrieve URL" />
        <!-- input type=" submit" Value="Select URL Type"-->
    </form>
</div>
<form name="Aolform2" style="display:none" align = "center" id="aol2" action="/URLBuilder/URLRetriever" method="GET ">
    <select name="Sizedropdown">
        <option value="300x1050 ">300x1050</option>
        <option value="300x600 ">300x600</option>
        <option value="300x250 ">300x250</option>
        <option value="728x90 ">728x90</option>
        <option value="970x250 ">970x250</option>
        <option value="320x50 ">320x50</option>
        <option value="768x90 ">768x90</option>
        <option value="1024x90 ">1024x90</option>
    </select>
    <br />Placement ID:
    <input type="text " name="placementId" />
    <br />Flight ID:
    <input type="text " name="flightId" />
    <br />
    <input type="submit" value="Retrieve URL" />
    <!-- input type=" submit " Value="Select URL Type "-->
</form>
<script type ="text/javascript">
var forms = document.forms['Aolform'];
//console.log(forms);
//console.log(forms.elements);
document.getElementById("Type1").addEventListener("change",onDropDownChange,true);
function onDropDownChange() {
 if (document.getElementById("Type1").value == 'Select') {
     document.getElementById('aol2').style.display = 'none';
     document.getElementById('aol1').style.display = 'none';
}

    if (document.getElementById("Type1").value == 'Custom') {
        document.getElementById('aol2').style.display = 'none';
        document.getElementById('aol1').style.display = 'block';
    } else {
        document.getElementById('aol1').style.display = 'none';
        document.getElementById('aol2').style.display = 'block';
    }
}
/*
document.getElementById("Type1").onchange = function(){
if(document.getElementById("Type1").value =='Custom'){ 

    document.getElementById('aol1').style.visiblity='visible';
    document.getElementById('aol2').style.visibility='hidden';


        }
    else
        {
        document.getElementById('aol2').style.visibility='visible';
        document.getElementById('aol1').style.visibility='hidden';

        }
}
*/
</script>
</body>
</html>

根据名为“Aoldropdown”的下拉框中的选择,我操纵请求标头以获取最终的URL。但是因为下拉列表不是表单的一部分。它给出null,因为它不是请求头部分。它取决于dropdwn值我决定显示一个表单并隐藏另一个表单。但是这个值无法在servlet端的后端访问,请帮助。

servlet代码是

import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class URLRetriever
 */
public class URLRetriever extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public URLRetriever() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        PrintWriter out = response.getWriter();
        /*out.println("<html>");
        out.println("<body>");
        out.println("<h1>Hello Servlet Get</h1>");
        out.println("</body>");
        out.println("</html>");*/
        Map<String,String>sizeMagicMap = new HashMap<String,String>();

        sizeMagicMap.put("300x1050","3004888");
        sizeMagicMap.put("300x600","3004891");
        sizeMagicMap.put("300x250","3004887");
        sizeMagicMap.put("728x90","3004890");
        sizeMagicMap.put("160x600","3004892");
        sizeMagicMap.put("970x250","3070863");
        sizeMagicMap.put("970x90","3004889");
        sizeMagicMap.put("320x50","2995289");
        sizeMagicMap.put("768x90","3046272");
        sizeMagicMap.put("1024x90","3004889");
        for (Map.Entry<String, String> entry : sizeMagicMap.entrySet()) {
             System.out.println(entry.getKey() + "/*/" + entry.getValue());

        }
        String sizeAd = request.getParameter("Sizedropdown");
        System.out.println(sizeAd);
        String[]heightWidth = sizeAd.split("x");
        System.out.println(heightWidth[0]+""+heightWidth[1]);
        String placementId = request.getParameter("placementId");
        String flightId = request.getParameter("flightId");
        System.out.println(request.getParameter("Aoldropdown"));
        if(request.getParameter("Aoldropdown").equalsIgnoreCase("Fixed"))
        {
        if(heightWidth!=null && placementId!=null && flightId!=null )
        {
            System.out.println("The magic No is "+sizeMagicMap.get(sizeAd));
        String finalURL =  "http://browsertest.web.aol.com/ads/andrew/adtech_tag_generator.htm?height="+heightWidth[1]+"&width="+heightWidth[0]+"&type=f"+"&mn="+
        sizeMagicMap.get(sizeAd.trim())+"&placement-id="+placementId+"&flight-id="+flightId;
        out.println(finalURL);
        }   
        }
        else if(request.getParameter("Aoldropdown").equalsIgnoreCase("Scrolled"))
                {
            System.out.println("The magic No is "+sizeMagicMap.get(sizeAd));
            String finalURL =  "http://browsertest.web.aol.com/ads/cd/Steph/steph1.html?height="+heightWidth[1]+"&width="+heightWidth[0]+"&type=f"+"&mn="+
            sizeMagicMap.get(sizeAd.trim())+"&placement-id="+placementId+"&flight-id="+flightId;
            out.println(finalURL);
                }
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
    }

}

request.getParameter(“Aoldropdown”原来是null,因为它不是表单的一部分而且没有提交。请帮助并提供有关如何处理它的建议。

由于 斯瓦拉杰

0 个答案:

没有答案