无法在JSP/servlets-Java中的请求中设置属性?

无法在JSP/servlets-Java中的请求中设置属性?,java,jsp,servlets,request,requestdispatcher,Java,Jsp,Servlets,Request,Requestdispatcher,以下是我在JSP代码中遵循的步骤: 1) 登录页面并将其发布到servlet 2) 在servlet中,我设置了一些请求属性,并使用dispatcher转发请求 设置bean属性 3) bean设置属性并转发到不同的url 4) 在这个url中,我从请求中提取属性以显示在页面上。我从请求中得到一个null,表明我的属性没有在请求中设置。这就是下面的displayinfo.jsp显示的Welcome Null。为什么不设置属性 这是我的密码: 登录页面: <form id="login" m

以下是我在JSP代码中遵循的步骤: 1) 登录页面并将其发布到servlet

2) 在servlet中,我设置了一些请求属性,并使用dispatcher转发请求 设置bean属性

3) bean设置属性并转发到不同的url

4) 在这个url中,我从请求中提取属性以显示在页面上。我从请求中得到一个
null
,表明我的属性没有在请求中设置。这就是下面的
displayinfo.jsp
显示的Welcome Null。为什么不设置属性

这是我的密码:
登录页面:

<form id="login" method="post" action="setBeansAllPropertiesLoginUser.do">  
    <span>UserName:</span><input name="uid" type="text" style="width:250px;" /> 
    <span>Password:</span><input name="pwd" type="password" style="width:250px;"/>
</form>
setBean.jsp

<table style="width:100%;">
        <tr>
            <td style="width:25%;height:80%;" valign="top">
                <jsp:include page="navbar.jsp" />
            </td>
            <td style="width:75%;height:80%;">
                <jsp:useBean id="wu" class="com.worldmanager.models.WebUser"
                    scope="request">
                    <jsp:setProperty name="wu" property="*" />
                </jsp:useBean>

                <jsp:forward page="displayinfo.jsp" />
            </td>
        </tr>
    </table>
我的
bean
是正确的。我测试过了。上面我粘贴了相关的代码。代码不完整

只需更改即可

<jsp:getProperty name="wu" property="userId" />
并以与现在相同的方式访问它

  <jsp:getProperty name="wu" property="userId" />

根据以下符号

<jsp:setProperty name="wu" property="*" />


显然,也要更改
表单
输入
参数名。

我看不出该属性与
wu
bean的
userId
属性有什么关系。你能澄清一下吗?在setbean.jsp中,我使用
wu
bean来设置用户ID。在
displayInfo
.jsp中,我试图从bean中拉出..有意义吗?我知道这是以一种复杂的方式完成的。但如果您注意到,在servlet中,我从请求中获取这些参数,并在请求中设置新参数,以获得bean要处理的正确名称。这在理论上应该有效?@头脑风暴不要混淆请求参数和请求属性。
setProperty
似乎可以获取请求参数。您的名称与bean的属性名称不同。我在请求时混淆了参数和属性。你纠正了我说SetProperty使用请求参数的说法。我想没有办法设置请求参数,可能也没用吧?@brainstorm当您提交
时,它的元素会作为表单参数提交,servlet容器会将表单参数转换为请求参数。只要适当地更改它们的名称,
setProperty
元素将正确地检索它们,然后在bean上设置它们。如果在表单中添加另一个参数,并且不打算使用新属性更新bean,会发生什么情况?我正在
setBean.jsp
中设置属性。设置之后,我将转发到
displayinfo.jsp
。我知道这是非常混乱和复杂的。但仅用于学习目的。您没有使用适当的设置
wu
的属性names@brainstorm如果您不想使用核心标记,那么就使用JSP容器,只需使用JSP EL,例如,
${userId}
@Dave,不信任其内容直接使用风险很小。是的,您可以通过
${param.paramName}
<c:out value="${userId}" />
  <jsp:setProperty name="wu" property="userId"  value="${userId}"/>
  <jsp:setProperty name="wu" property="password"  value="${password}/>
  <jsp:getProperty name="wu" property="userId" />
<jsp:setProperty name="wu" property="*" />
String uid = request.getParameter("uid");
String pwd = request.getParameter("pwd");
String uid = request.getParameter("userId");
String pwd = request.getParameter("password");