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");获取