2011-06-27 10 views
0

ログイン画面で入力パラメータを取得した後、これらのパラメータを使用してユーザーをアプリケーションにログインさせました。私はエラー -Java Webアプリケーションでjspファイルを使用してBeans /フォーム処理でエラーが発生しました

org.apache.jasper.JasperExceptionが取得していますが

:/loginbean.jsp(6,59)属性値request.getParameter( "ユーザ名は")がなければならない」と引用されています

このエラーを有するコードの行は、(名前=「ユーザー名」のプロパティのためのコード、すなわち行) below-所与のコードブロックの2行目で

ヴァル内で使用されるときにエスケープします

ここ

<jsp:useBean id="db" scope="request" class="logbean.LoginBean" > 
    <jsp:setProperty name="db" property="userName" value="<%=request.getParameter("userName")%>"/> 
    <jsp:setProperty name="db" property="password" value="<%=request.getParameter("password")%>"/> 
</jsp:useBean> 

LoginBean.java

package logbean; 
public class LoginBean { 
    String userName=""; 
    String password=""; 
    public String getUserName() { 
    return userName; 
    } 
    public void setUsername(String username) { 
    this.userName = userName; 
    } 
    public String getPassword() { 
    return password; 
    } 
    public void setPassword(String password) { 
this.password = password; 
    } 
    } 

答えて

2

<jsp:setProperty name="db" property="userName" value="<%=request.getParameter("userName")%>"/> 
<jsp:setProperty name="db" property="password" value="<%=request.getParameter("password")%>"/> 

あなたはスクリプトレットとタグライブラリをミックスしようとしています。これは無効です。どちらか一方を使用してください。 スクリプトレットdeadテクノロジなので、私はそれを完全に取り除くことを提案します。あなたはまた、すべてのパラメータ名はとにかくプロパティ名と同じである場合、JSPは、自動的にすべてのプロパティを設定させることができ、また

<jsp:setProperty name="db" property="userName" value="${param.userName}"/> 
<jsp:setProperty name="db" property="password" value="${param.password}"/> 

:適切な方法は、ELを使用することです

<jsp:setProperty name="db" property="*"/> 
関連する問題