为什么我的servlet转过去,却不执行
页面显示"This is class servlet.PlayerServlet, using the POST method"
我觉得可能是我的html表单里的代码有问题<form>标签没有用好
请高手指点下~
以下是我的代码
 
scrpit:
<script language="JavaScript">
function toP1(){
if(document.P1.name1.value==""){
            alert("请输入姓名!!");
            document.P1.name1.focus();
            return false
   }
   if(document.P1.age1.value==""){
            alert("请输入年龄!!");
            document.P1.age1.focus();
            return false
   }
   document.P1.action="<%=path %>/servlet/PlayerServlet";
   document.P1.submit();
}

</script>
html:
<div id="player1" style="float:left; width:235px;">
            
                <fieldset>
                <legend style="margin-bottom:20px; color:#06F">一号选手信息</legend>
                <form method="post" action="" name="P1">
                 <label>选手姓名:<input type="text" name="name1" /></label><br />
                    <label>选手年龄:<input type="text" name="age1" /></label><br />
                    <label>选手性别:男<input type="radio">女<input type="radio"></label><br />
                    <label><input type="submit" value="确定" onClick="toP1()"></label>
                    <label><input type="reset" value="重置"></label><br />
                   
                    <%
String msg = (String)request.getAttribute("msg");
if(msg == null) { 
    %>
    <div align="center"><font>请输入</font><font color="#FFFFFF"></font></div>
    <%
}
else {
out.print(msg);
}
    %>
    </form>
                </fieldset>
                
            </div>servlet:
     request.setAttribute("msg", "<font color='red'>XXXXXX</font>");
     request.getRequestDispatcher("/jsp/index.jsp").forward(request, response);

解决方案 »

  1.   

    document.P1能这样写吗?(我不太肯定)
    你试一下 document.all.p1看看
      

  2.   

    <%=path %>/servlet/PlayerServlet这里的path你没有在web.xml里面配吗?
      

  3.   

                        <label> <input type="submit" value="确定" onClick="toP1()"> </label>
                        <label> <input type="reset" value="重置"> </label> <br /> 
    -》
                       <input type="button" value="确定" onClick="toP1()">
                       <input type="reset" value="重置">      <form method="post" action="" name="P1"> 
    ->
          <form  name="P1" action=""  method="POST" > 搞不清楚,先试试看吧
      

  4.   

    没太看懂问题,什么叫“servlet转过去,却不执行”,既然不执行,怎么会显示"This is class servlet.PlayerServlet, using the POST method" ?被弄糊涂了。
    建议楼主把问题再描述清楚些,顺便把web.xml和servlet的完整代码粘出来看看。
      

  5.   

    上面大家说的方法,我都试过了。。都不行厄。以下是xml代码
    web.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
      <servlet>
        <description>This is the description of my J2EE component</description>
        <display-name>This is the display name of my J2EE component</display-name>
        <servlet-name>PlayerServlet</servlet-name>
        <servlet-class>servlet.PlayerServlet</servlet-class>
      </servlet>  <servlet-mapping>
        <servlet-name>PlayerServlet</servlet-name>
        <url-pattern>/servlet/PlayerServlet</url-pattern>
      </servlet-mapping>
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>
      

  6.   

    ok~好了~~
    3楼的解答帮我解决问题了
    是我html中
    method="post"改成method="POST"
    就好了。
    谢谢各位啦