这个是fourth.jsp<%@page language="java" contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>
jsp:forward实例
</title>
</head>
<body>
<form action="Fifth.jsp"method=post>
用户名:
<input type=text name="name">
密码:
<input type=password name="password">
<input type=submit value="登陆">
<input type=reset value="重置">
</body>
</html>这个是Fifth.jsp
<%@page language="java" contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>
jsp:forward实例
</title>
</head>
<body>
<%
String name=request.getParameter("name");
String password=request.getParameter("password");
if(name.equals("david")&&password.equals("123")){
%>
<jsp:forward page="./Sixth.jsp">
<jsp:param name="user" value="<%=name%>"/>
</jsp:forward>
<%}else{%>
<jsp:forward page="./Fourth.jsp">
<jsp:param name="user" value="<%=name%>"/>
</jsp:forward>
<%}%>
</body>
</html>这个是Sixth.jsp
<%@page contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>
jsp:forward实例
</title>
</head>
<body>
<%=request.getParameter("name")%>
密码正确,登陆成功
</body>
</html>请问<jsp:param name="user" value="<%=name%>">
我是jsp菜鸟,请问第一个页面是不是由form action="Fifth.jsp"method=post一句自动将name和password两个参数传递到Fifth.jsp了?
如果传递过去了,那么在Fifth.jsp中的forword参数传递中传递到Sixth.jsp的是user,为什么<%=request.getParameter("name")%>中不是<%=request.getParameter("user")%>?Fifth.jsp只传递了user这个参数啊,name参数并没有传递,Sixth.jsp中的name参数名是哪来的?
而在Fourth.jsp中已经有一个name参数,为什么还得有Fifth.jsp中传递一个user过去呢?传递过去后又有什么用呢?
对于<jsp:param name="user" value="<%=name%>"/>传递参数问题我不是很清楚,望高手给我解释下,谢谢。

解决方案 »

  1.   

    提示一下:参数都传到request对象当中。看看书吧,很多书讲的很清楚。学这个要看别人写的代码,然后多写,多运行,多改代码。不懂,自己想方法发现问题,然后自己解决。再不懂,可以问人。呵呵,这样,你可以学的很好啦。
      

  2.   

    String name=request.getParameter("name");
    name字符串存储了从request中取到的“name”属性<jsp:param name="user" value="<%=name%>"/>
    这里又把name字符串放到了request中的“user”属性这时request里面的“name”属性和“user”属性都存储的是字符串name的值你也可以把request理解为集合
    里面存储的是键值对
    而你的代码中request的“name”属性和“user”属性都是表单name的值,是相同的,就是这样这样说楼主明白了没~
      

  3.   

    好像有个问题
    <jsp:forward page="./Sixth.jsp">之后的代码会执行吗,应该到这里就跳了吧.
    <jsp:forward page="./Sixth.jsp?name=<%=name%>" />这样以get方法传过去.
      

  4.   

    <jsp:param
    这个标签搞懂就没的问题
      

  5.   

    赋值问题 以<jsp:param name="user" value="<%=name%>"/>为例,name是具体的值,user相当于name标示符
      

  6.   

    那么在Sixth.jsp中可以访问在Fourth.jsp中的表单中的name参数吗?这个name不是定义的name字符串,也是不是user参数