站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题请教action 传参数问题

请教action 传参数问题

摘要: 请教action 传参数问题


假设jsp页面向action传参数noId如下这种形式:
self.location = "<%=WEBPATH%>/work/Action.do?noId=" + noId ;
是否全部可以改为
var noId=document.form.noId;
self.location = "<%=WEBPATH%>/work/Action.do
在action里用request.getParameter(noId);得到noId?


var noId=document.form.noId;
self.location = "<%=WEBPATH%>/work/Action.do?noId=" + noId

在action里用request.getParameter(noId);得到noId!



var noId=document.form.noId;
self.location = "<%=WEBPATH%>/work/Action.do?noId=" + noId

应该得到的是noId,因为解析的时候,把"<%=WEBPATH%>/work/Action.do?noId=" + noId 当成字符串解析。。。


不可以的,要想只是单纯的*.do,而不传参的话,可以在ACTION中用request.getAttribute("noId")得到!


如果这样写
var noId=document.form.noId;
self.location = "<%=WEBPATH%>/work/Action.do;
不传参数的话
在action里用request.getParameter(noId);还能得到noId吗?




如果这样写
var noId=document.form.noId;
self.location = "<%=WEBPATH%>/work/Action.do;
不传参数的话
在action里用request.getParameter(noId);还能得到noId吗?
----------------------------------------------------------

不行,除非你用表单提交的方式
比如 你的noId是 form的一个元素
并且form的method属性是"POST"

form.action=""<%=WEBPATH%>/work/Action.do";
form.submit();
这样可以在action里面用request.getParameter("noId"),注意要加引号,我前面也没加!!

用URL 方式提交,那么就要把参数放在URL后面. 就象你那样self.location = "<%=WEBPATH%>/work/Action.do?noId=" + noId ;


不太见到在action里面用request.getAttribute(...)的,(因为action里面都是从页面取它递交上来的东西,这些东西不管是放在form里面还是URL参数,都用request.getParameter(...),而不是request.getAttribure(....))

除非你在什么地方用过request.setAttribute(....)
那么什么地方会用到request.setAttribute(...)呢? 当然是在action里面咯,或者在servlet里面.这样就可以在jsp页面里面可以用request.getAttribute(...)取出来.








↑返回目录
前一篇: 问一个安全性的问题(大家过来指点一下, 再线等待....)
后一篇: 用JAVA做一个图片上载,自动加水印,并可以控制实现翻转,改变尺寸,裁剪等功能