当执行jsp:include
或jsp:forward
,包含页面或转发 页面会看到原始请求对象,用新的参数扩充原有的参数 和新的价值优先于 现有的值时适用。的Java服务器页面帕拉姆混乱
例如,如果该请求具有参数 Lname=abc
和Lname=xyz
是 指定为前进的参数,转发请求 将具有Lname=xyz, abc
。
新参数优先
请用一个例子来解释。
当执行jsp:include
或jsp:forward
,包含页面或转发 页面会看到原始请求对象,用新的参数扩充原有的参数 和新的价值优先于 现有的值时适用。的Java服务器页面帕拉姆混乱
例如,如果该请求具有参数 Lname=abc
和Lname=xyz
是 指定为前进的参数,转发请求 将具有Lname=xyz, abc
。
新参数优先
请用一个例子来解释。
让我们了解jsp:include和jsp:forward之间的主要区别。
jsp:include,包含当前页面内的页面。因此,包含的页面将精确地显示您在当前页面内添加了jsp命令的位置。
例如
...
<jsp:include page="inc/include.jsp" />
...
但jsp:forward会将当前页面转发到转发页面。之后立即调用当前页面被称为转发页面的含义。
例如
if (...) { forwarded to pageOne.jsp }
else if (...) { forwarded to pageTwo.jsp }
下面是我们可以访问jsp:forward和jsp:include的参数的方式。
jsp:include:我们可以使用param而不是request对象来访问参数。 例如
${param.param1}
while在jsp:forward中:我们可以使用请求对象访问参数。 例如
request.getParameter("param1")
这就是jsp:inlcude和jsp:forward中参数的主要区别。因此,我们在jsp:forward中获得新的价值(比如Lname = xyz)。
例如:
说,我们有一个参数L-NAME = XYZ在请求对象。在当前JSP可以使用下面的代码来访问现在
<%= (String)request.getParameter("Lname"); %> <%-- This will print xyz on jsp --%>
,进一步相同的参数名称可以用JSP使用:前进,就像...
<jsp:forward page="fwd/pageOne.jsp?Lname=abc" />
或
<jsp:forward page="fwd/pageOne.jsp">
<param name="Lname" value="abc"/>
</jsp:forward>
这将导致fwd/pageOne.jsp中的Lname = abc使用request.getParameter()方法。
谢谢
粘贴您的jsp代码。 –
m对不起,但我没有任何jsp代码它只是我无法理解为“当执行jsp:include或jsp:forward时,包含的页面或转发的页面将看到原始请求对象,原始参数增加例如,如果请求具有参数Lname = abc并且为forward指定了参数Lname = xyz,则转发的请求将具有Lname = xyz,abc。 有Lname = xyz,abc“它是如何做的,它会对m有好处,如果生病得到一些代码来理解这个 – surya