我的项目概念取决于控件将转移到相关jsp页面的下拉值。
我创建了4个下拉值
1.andriod
2.struts
3.spring
4.hibernate
和4个jsp页面
1.andriod.jsp
2.struts.jsp
3.spring.jsp
4.hibernate.jsp
如果我选择andriod并单击提交按钮意味着控件将转移到andriod.jsp页面,同样其他值也会被转移,
我的问题是
如果我选择了andriod并单击了提交按钮,它总是显示空指针异常...
请任何人解决我的问题。
我创建了
1.jsp页面(Filename.jsp)
2.Servlet页面(CatServ.java)
NewFile.jsp
<body>
<form action="test" method="post">
<table>
<tr>
<td>
Select the category</td>
<td>
<select>
<option name="andriod" value="lang">Andriod</option>
<option name="java" value="lang">Java</option>
<option name="struts" value="lang">Struts</option>
<option name="spring" value="lang">Spring</option>
<option name="hybernate" value="lang">Hybernate</option>
</select>
</td>
</tr>
<tr>
<td><center>
<input type="submit" value="Submit"></center>
</td>
</tr>
</table>
</form>
</body>
CatServ.java
package container;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class CatServ
*/
@WebServlet("/CatServ")
public class CatServ extends HttpServlet
{
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
// TODO Auto-generated method stub
String s=request.getParameter("lang");
System.out.println(s);
if(s.equals("andriod"))
{
RequestDispatcher rd=request.getRequestDispatcher("AndriodServ.jsp");
rd.forward(request, response);
}
else if(s.equals("java"))
{
RequestDispatcher rd=request.getRequestDispatcher("JavaServ.jsp");
rd.forward(request, response);
}
else if(s.equals("struts"))
{
RequestDispatcher rd=request.getRequestDispatcher("StrutsServ.jsp");
rd.forward(request, response);
}
else if(s.equals("spring"))
{
RequestDispatcher rd=request.getRequestDispatcher("SpringServ.jsp");
rd.forward(request, response);
}
else if(s.equals("hibernate"))
{
RequestDispatcher rd=request.getRequestDispatcher("Hybernate.jsp");
rd.forward(request, response);
}
}
}
答案 0 :(得分:4)
你的名字和价值令人困惑。您需要<select name="lang">
,您的选项应该是<option value="spring">
。
答案 1 :(得分:1)
要正确使用它,你必须重新编写像bellow
这样的选择<select name="lang">
<option value="andriod">Andriod</option>
<option value="java">Java</option>
<option value="struts">Struts</option>
<option value="spring">Spring</option>
<option value="hybernate">Hybernate</option>
</select>
您可以查看this了解详情
另请注意,在调用s
equals
是否为null
if(s !=null) {
// do my checks
}