我想使用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
,因此我正在寻找JavaScript
或jQuery
解决方案
到目前为止,我已经搜索并找到了JavaScript解决方案,该解决方案只读取使用GET
方法(query string only)
发送的参数。
任何建议都将受到赞赏。
提前致谢。
解决方案: 我能够使用JSTL获取值:
${param.txtOne}
答案 0 :(得分:1)
尝试使用表达式语言 - ${txtOne}
,如果one.jsp中的方法是 GET 而不是 POST ,则可以在javascript中读取网址并从那里提取参数值。
答案 1 :(得分:1)
是的,您可以使用JSTL
获取价值${param.txtOne}
在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")) %>;
答案 3 :(得分:0)
现在是时候迁移到像struts这样的MVC框架而不是普通的JSP。然后你可以从参数填充一个ActionForm并在Two.jsp。
上使用它们