读取一个jsp传递给另一个jsp的参数
我想使用HTTP POST
方法读取一个JSP
传递给另一个JSP
参数。
以下是我的两个JSP
文件。
One.jsp
Two.jsp
我可以使用scriplet
访问Two.jsp文件中的参数。
我想避免scriplet
,所以我正在寻找JavaScript
或jQuery
解决方案。
到目前为止,我已经搜索并找到了JavaScript解决方案,它只读取使用GET
方法发送的参数(query string only)
。
任何建议将不胜感激。
提前致谢。
解决方案:我能够使用JSTL获取值:
${param.txtOne}
我想避免scriplet,所以我正在寻找JavaScript或jquery解决方案。
只是你不能。
请求对象只能在服务器端访问,即在JSP中访问。 您无法在客户端访问请求或响应对象,即javascript/jquery/whatever.
如果你想在javascript中访问jsp值,试试类似的东西
var news=<%= request.getParameter("txtOne")) %>;
作为旁注: 避免使用scriplets并使用表达式语言。
尝试使用表达式语言 – ${txtOne}
,如果one.jsp中的方法是GET而不是POST ,则可以在javascript中读取URL并从中提取参数值。
是的,你可以通过使用JSTL获得价值
${param.txtOne}
更新
从EL信息页面
在EL中有几个可用的隐式对象 。
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:将应用程序范围的变量名映射到它们的值
现在是时候转移到像struts这样的MVC框架而不是普通的JSP。 然后,您可以从参数填充ActionForm并在Two.jsp上使用它们。