1

我有一个register.jsp文件。它从提交的表单中读取变量,如下所示:

    <%
        if(request.getParameter("username") != null && request.getParameter("password") != null){
            String username = request.getParameter("username");
            String password = request.getParameter("password");
         }
     %> 

我有一个Java bean,如下所示。

public class RegistrationBean {


// Constructor
public RegistrationBean(){}  


public boolean login(String username, String password){
    boolean result = false;
    System.out.println("username");
    if(username.equals("username") && password.equals("admin")){
        result = true;
    }
    return result;
}


}

现在我试图在我的jsp文件中调用这个登录函数,如下所示。我还在我的 jsp 文件顶部添加了 useBean。

    <jsp:useBean id="register" class="registration.RegistrationBean" scope="session" />

    <%
        if(request.getParameter("username") != null && request.getParameter("password") != null){
            String username = request.getParameter("username");
            String password = request.getParameter("password");
            if(register.login(username, password)){
              // do something
            }
     %> 

但我意识到用户名和密码的值没有被传递给 bean。但是当我在 .jsp 文件中打印该值时,它具有适当的值。是否有任何理由不将值传递给 login() 函数中的函数。目前无论我做什么都是假的。

谢谢。

4

2 回答 2

1

属性值 request.getParameter("sn") 用 " 引用,在值内使用时必须转义

当我使用 value="<%=request.getParameter("val")%>"/> 运行我的页面时,会出现上述消息

于 2013-04-16T20:29:05.653 回答
0

那应该确实有效。但是,这是使其工作的另一种方法:

<jsp:useBean id="register" class="registration.RegistrationBean" scope="session">
<jsp:setProperty name="register" property="username" value="<%=request.getParameter("username")%>"/>
<jsp:setProperty name="register" property="password" value="<%=request.getParameter("password")%>"/>
<jsp:useBean />

为您的班级添加 setter 和 getter username。并且将是类变量。将函数设为非参数化,即称其为.passwordRegistrationBeanusernamepasswordloginregister.login()

于 2012-08-18T16:07:47.593 回答