reqest:
在jsp页面中,在java脚本片段中可以用request.getattribute("xx")获取servlet转发时候传过来的参数。因为转发属于同一次请求。一次请求的参数会存在request域中。你可以这样去取。
如果是重复定向,你可以拼接参数,jsp页面用request.getparameter()可以去取。
session:
只要你在java程序中声明,在jsp页面中,java脚本片段中可以用request.getsession("xx"),就可以获取取。无论是转发还是重定向。因为session的作用在本次会话
context
即applicationContext作用域,作用于整个网站。一般不用
你使用el表达式${xx},其实就是request.getattribute("xx")或request.getsession("xx"),只是jsp给你封装了。不用你这么麻烦的去写
js与java是不同语言,运行在不同环境下,因此无法直接获得对方数据。java运行在服务器端,在同一个jsp文件中,java先运行,js后运行,java可以生成一段js代码,保证js运行得到相应的结果,因此可以用java定义js变量的方式来传递数据,例如:<pre t="code" l="html"><script>var "<%=url%>"
alert(username)
</script>上面例子,<%%>中的内容会在服务器端运行,在“”中间输出网址,浏览器就会加载下面的结果:<pre t="code" l="html"><script>
var "gif8"
alert(url)
</script>这部分就是标准的js代码了。
<%new
UserDao().setLoginNum(5)
//这里创建了一个对象
设值5
//而你输出时又创建了一个对象,
这完全是2个不同的对象
out.print(new
UserDao().getLoginNum())
%>
这就好比你去超市,把物品存在2号柜,却跑到3号柜里取,肯定是没有的
你可以这样:
<%
UserDao
ud
=
new
UserDao()
ud.setLoginNum(5)
out.print(ud.getLoginNum())
//这样才是基于一个对象操作
%>