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 />

クラスにセッターとゲッターを追加usernamepasswordますRegistrationBean。クラス変数になりますusernamepassword関数loginをパラメータ化されないようにします。つまり、 として呼び出しますregister.login()

于 2012-08-18T16:07:47.593 に答える