我的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,因为它不是表单的一部分而且没有提交。请帮助并提供有关如何处理它的建议。
由于 斯瓦拉杰