- action是什么?
action是获得form表单数据 再去处理的类
- 为什么要有action?
因为在servlet中往往会出现使用一个servlet处理多个功能,比如
登陆功能,注册功能,浏览功能等,这样action就是必不可少的了
- 怎么去使用action?
首先是启动服务后,在浏览器上输入
然后通过代码来获取action的值
String action = req.getParameter("action");
使用这句代码来获得当前action的值
然后action可以根据它的值来匹配不同的功能
if(action.equals("list"))
{
//浏览功能
}
else if(action.equals("addnew"))
{
//添加功能
}
通过这样来将servlet根据请求来处理不同的功能。
另外如果要跳转到jsp页面 可以通过跳转来重定向 这个上文有提到过,
-
- 主要代码如下
else if(action.equals("addnew"))
{
req.getRequestDispatcher("/addnew.jsp").forward(req,resp);
}
else if(action.equals("addnewSubmit"))
{
String name= req.getParameter("name");
int age = Integer.parseInt(req.getParameter("age"));
try
{
JdbcUtils.executeUpdate("insert into T_Persons2(Name,Age) values(?,?)", name,age);
resp.sendRedirect("person?action=list");
} catch (SQLException e)
{
req.getRequestDispatcher("/Myerror.jsp").forward(req, resp);
//resp.sendRedirect("MyError.jsp");
}
这样就可以完成人员的添加功能。
- action层前端
在前端需要使用form标签来进行表单提交,这里有两个提交一个是通过get来提交,而另外一个是通过报文头来提交。也就是get请求和post请求。
然后服务器端通过浏览器来读取出数据,为了使浏览器能获得单一表单的值,还需要在form标签中设定name的属性值。
也就是"name=value",多个键值对之间是采用的&&来分割。
String action = req.getParameter("name");
这样就可以取出表单中name的值了。另外需要注意的是在表单中id不能重复但是name的值可以是重复的。