jsp页面中传参数的问题。一直以来纠结的是在jsp中如何将本页面文本框的值传到后台或别的jsp等,今天解决了。看了一个小例子。
在A.jsp中有一个input框,和一个超链接,用超链接将这个框的值传到B.action或B.jsp
一是从jsp传jsp
在A.jsp中
<input type="text" id="insert" />
<a href="javascript:location.href='../index.jsp?name='+document.getElementById('insert').value;">test</a>
B.jsp中接收
<%=request.getParameter("name") %>
二是jsp传action
A.jsp中
<a href="javascript:location.href='${ctx}/programme/document/documenteditor.action?name='+document.getElementById('systemName').value;">test</a>
B.action中接收
HttpServletRequest request1= Struts2Utils.getRequest();
String collection=request1.getParameter("name");
下面总结一下,前台往后台传参或者前台之间,后台之间传参的问题(除了上面哪一种)
1.前台传到后台
1.1采用iframe传给后台m.action的一个方法aa
<iframe id="listIframe" name="listIframe"
src="${ctx}/houtai/houtai/m!aa.action?year=<%=request.getAttribute("year")%>""></iframe>
1.2采用ajax
$.get("${ctx}/houtai/houtai/m!aa.action?year=<%=request.getAttribute("year")%,null,function(data){})
1.3用js只修改iframe的src值
$("#listIframe").attr("src","${ctx}/houtai/houtai/m!aa.action?a=123“);
或者
listIframe.location.replace('${ctx}/houtai/houtai/m!aa.action?a=123');
1.4修改整个页面跳转
window.location=“${ctx}/houtai/houtai/m!aa.action?a=123”
后者form[0].action=“${ctx}/houtai/houtai/m!aa.action?a=123”
form[0].submit;
后台接收情况统一采用:
HttpServletRequest request1 = Struts2Utils.getRequest();
String name = request1.getParameter("name");
2.前台传前台
方法和以上一样,只要路径写对,后缀根据自己的框架,用jsp或者action
jsp接收的话,采用
<%request.getParameter("name")%>
3.后台传前台
HttpServletRequest request = Struts2Utils.getRequest();
request.setAttribute("b", a);
其中a为要传的变量,b是传的参数
后者采用
ActionContext request=ActionContext.getContext();
request.put("b", a);
前台接收无论jsp或者js中都采用如下方式接收:
采用 <%=request.getAttribute("b")%>或者 <%=request.get("b")%>
4.后台传后台方法
采用方法传递参数,或者从前台传来的参数,处于同一chain下,都可以用
ActionContext request=ActionContext.getContext();
request.getAttribute("a");获取