读取一个jsp传递给另一个jsp的参数

时间:2013-12-24 12:26:16

标签: java javascript jquery html jsp

我想使用JSP方法读取一个HTTP POST传递给另一个的参数。

以下是我的两个JSP文件。

One.jsp

<body>
<form action="Two.jsp" method="post">
    <input type="text" value="test value" name="txtOne">
    <input type="submit" value="Submit">
</form>
</body>

Two.jsp

<body>
    <% response.getWriter().println(request.getParameter("txtOne")); %>
</body>

我可以使用scriplet访问 Two.jsp 文件中的参数 我想避免scriplet,因此我正在寻找JavaScriptjQuery解决方案 到目前为止,我已经搜索并找到了JavaScript解决方案,该解决方案只读取使用GET方法(query string only)发送的参数。

任何建议都将受到赞赏。

提前致谢。

解决方案: 我能够使用JSTL获取值:

${param.txtOne}

4 个答案:

答案 0 :(得分:1)

尝试使用表达式语言 - ${txtOne},如果one.jsp中的方法是 GET 而不是 POST ,则可以在javascript中读取网址并从那里提取参数值。

答案 1 :(得分:1)

是的,您可以使用JSTL

获取价值
${param.txtOne}

更新

来自EL info page

在EL中有几个implicit objects可用。

EL                                  Scriptlet (out.print and null checks omitted!)
----------------------------------  ---------------------------------------------
${param.foo}                        request.getParameter("foo");
${paramValues.foo}                  request.getParameterValues("foo");
${header['user-agent']}             request.getHeader("user-agent");
${pageContext.request.contextPath}  request.getContextPath();
${cookie.somename}                  Too verbose (start with request.getCookies())

隐式对象

JSP表达式语言定义了一组隐式对象:

  • pageContext:JSP页面的上下文。提供对各种对象的访问,包括:

  • servletContext:JSP页面的servlet的上下文以及同一应用程序中包含的任何Web组件。请参阅访问Web上下文。

  • session:客户端的会话对象。请参阅维护客户状态。

  • request:触发JSP页面执行的请求。请参阅从请求中获取信息。

  • 响应:JSP页面返回的响应。请参阅构建响应。

此外,还有几个隐式对象可以轻松访问以下对象:

  • param:将请求参数名称映射到单个值

  • paramValues:将请求参数名称映射到值数组

  • 标头:将请求标头名称映射到单个值

  • headerValues:将请求标头名称映射到值数组

  • cookie:将Cookie名称映射到单个Cookie

  • initParam:将上下文初始化参数名称映射到单个值

最后,有些对象允许访问使用范围对象中描述的各种范围变量。

  • pageScope:将页面范围的变量名称映射到其值

  • requestScope:将请求范围的变量名称映射到其值

  • sessionScope:将会话范围的变量名映射到其值

  • applicationScope:将应用程序范围的变量名称映射到其值

答案 2 :(得分:0)

  

我想避免使用scriplet,所以我正在寻找JavaScript或jquery解决方案。

只是你不能。

请求对象只能在服务器端访问,即在JSP中访问。您无法在客户端访问请求或响应对象,即javascript/jquery/whatever.

如果您想在javascript中访问jsp值,请尝试

之类的内容
 var news=<%= request.getParameter("txtOne")) %>;

作为旁注:Avoid scriplets and go for Expression language.

答案 3 :(得分:0)

现在是时候迁移到像struts这样的MVC框架而不是普通的JSP。然后你可以从参数填充一个ActionForm并在Two.jsp。

上使用它们