public class MapServlet extends HttpServlet{
private String floorName = null;
public void doGet(HttpServletRequest request, HttpServletResponse response){
this.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response){

System.out.println(request.getRequestURI());
System.out.println(request.getParameter("actiona"));//打印是null
try {
PrintWriter pw = response.getWriter();
response.setContentType("text/html");
pw.println("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");
pw.println("<html xmlns=\"http://www.w3.org/1999/xhtml\">");
pw.println("<head>");
pw.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />");
pw.println("<style type=\"text/css\">");
pw.println("#connet");
pw.println("{");
pw.println("margin:0px auto;");
pw.println("width:90%;");
pw.println("border:#bfbfbf 1px solid;");
pw.println("}");
pw.println("</style>");
pw.println("</head>");
pw.println("<body>");
pw.println("<div style=\"width:90%;margin:0px auto;\">");
pw.println("<div align=\"center\">");
pw.println("<form  id=\"form1\" name=\"form1\" action=\"./map.do\" method=\"post\">");
pw.println("<input type=\"image\" name=\"actiona\" value=\"zoomincc\" src=\"image/zoomin.gif\" />");//要得到的值
pw.println("<input type=\"image\" name=\"actiona\" value=\"zoomout\" src=\"image/zoomout.gif\" />");//要得到的值
//pw.println("<input type=\"image\" name=\"actiona\" value=\"move\" src=\"image/move.gif\" />");//要得到的值
pw.println("</div>");
pw.println("</div>");
pw.println("<div id=\"connet\"><center><input type=\"image\" name=\"actiona\" value=\"map\" src=\"D://runDir//WelfareProject//TwoFloor//twoFloor.gif\"/></center></div>");
pw.println("</form>");
pw.println("</body>");
pw.println("</html>");

pw.flush();

mir.dispose();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

解决方案 »

  1.   

     type=\"image\"  好像没有 value 属性
      

  2.   

    试试 这样 <button value="image1"><input type="image" ... /></button>
      

  3.   

    request.getParameter("actiona")
    是从jsp页面取来的值吗?把jsp上相关的代码贴出来看看
      

  4.   

    我是用的servelt写的  没做过web方面的东西 所以请教大家
      

  5.   

    你的“actiona”属性在你提交表单之后才能得到的吧,在当前页面能吗?
      

  6.   

    查看下生成页面html代码,看看少什么东西不
      

  7.   

    通过本页面请求本页面,这样做太乱了吧。。为不专门写个JSP或者html来请求呢?
    还有不知道楼主第一句话能不能打印呢?
      

  8.   

    分析下你的执行流程:假设你的这个Servlet被一个请求Request访问到了,之后你的Servlet给出一个Response:request-> MapServlet(注意,到这一步时,就会执行servlet中的代码,即就会打印,而这个请求的request对象中,还没有“actiona”对应的值。)->response(用户现在才能够看到你在Servlet中定义的页面,如果现在他给表单填上值,然后提交,这一次的请求对象request中,才会有"actiona"对应的值。)
      

  9.   

    上面的意思就是,如果你的代码没错的前提下,第一次访问到此Servlet打印的也是空的。第二次访问此servlet时,页面中的form的action值才会使页面表单和Servlet相关联起来。用servlet做这种事相当麻烦,如果用JSP的话,这是非常简单的。建议LZ用JSP来处理表现层的东西。
      

  10.   

    其实我的目的很简单 我就是想把pw.println(" <div id=\"connet\"> <center> <input type=\"image\" name=\"actiona\" value=\"map\" src=\"D://runDir//WelfareProject//TwoFloor//twoFloor.gif\"/> </center> </div>");这个的鼠标点击坐标得到 ,不知道该怎么做 ,
      

  11.   

    接收参数,需要调用者提供才行不知道你调用者的参数是否跟request.getParameter("actiona"));里的名字相同
      

  12.   


    支持!!!
       
       每一次请求servlet,request都会产生新的"actiona",把原来的给覆盖掉了。所以每一次打印的就是null
      

  13.   

    很有道理,楼主可以参考,第一访问这个页面的时候
    System.out.println(request.getParameter("actiona"));//打印是null 
    第一次访问肯定是null,试试提交后是不是null.
    至于楼主说的取坐标,应该用js取,然后才传给请求页吧,还是建议楼主用jsp分开写,这样很乱,写js也不方便啊。。