一、从前台向后台传递参数
1.通过表单传递参数
①在前端JSP页面中设置form表单,将需要传递的参数在input输入框中输入,用input的name属性指定输入字段的名称,后台通过这个变量名来区别获取值。
<form action="/login" method="post" >
用户名: <input name="username" type="text" >
<br/>
密 码: <input name="password" type="password" >
<br/>
<button type="submit">登录</button>
</form>
②点击登录按钮后username和password会放到HttpServletRequest中
③在后台中我们通过request对象的getParameter()方法来获取放到HttpServletRequest的值,括号里面为变量名(String类型)
String username = request.getParameter("username");
String password = request.getParameter("password");
另外还可以通过Struts2框架中的Action对象来获取参数,创建一个类继承于ActionSupport,并构建get和set在后台获得其值
public class UserAction extends ActionSupport{
private String username;
private String password;
public void setUsername(){
this.username=username;
}
public String getUsername(){
return username;
}
public void setPassword(){
this.password=password;
}
public String getPassword(){
return password;
}
}
2.通过超链接传递参数
①前台通过超链接跳转时,将参数加在url的后面,参数与url之间用?占位符隔开,多个参数之间用&连接(注意请求方法是get)
<a href="/login?action=skip">您好,请登录</a>
<a href="/login?id1=111&id2=222">12</a>
②在后台中通过HttpServletRequest 获得超链接后面参数所对应的值
String s = request.getParameter("action");
3、通过jquery-ajax传递参数
二、从后台向前台传递参数
1、通过JSP的内嵌对象request传递参数
①在后台使用request对象的setAttribute()方法将数据保存到request范围的变量中。
request.setAttribute("name","YQ");
②在前端使用request对象的getAttribute()方法读取request范围的变量。
String string = request.getAttribute("name").toString();
2、通过JSP的内嵌对象session传递参数
①在后台使用session对象的setAtrribute()方法将信息保存在session范围内。
HttpSession session = request.getSession();
session.setAttribute("name","YQ");
②在前端使用session对象的getAttribute()方法获取保存在session范围内的信息。
String string = (String) session.getAttribute("name");
3、通过JSP的内嵌对象application传递参数
①用法与request和session相同
ServletContext application = this.getServletContext();
application.setAttribute("name","YQ");
String string = (String) application.getAttribute("name");
②注意:
request、session以及application这3个对象的范围是逐个增加的:request只在一个请求的范围内;session是在浏览器窗口的范围内;application则是在整个服务器的运行过程中。
4、通过JSON传递参数