当前页面: 开发资料首页 → 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(...)取出来.