このフォーラムで検索しましたが、適切な解決策がありません。誤ってこれが重複している場合は、申し訳ありません。
問題が発生しています... index.htmlのこのコードのように、サーブレットを使用してHTMLの1つから値を設定しています
<FORM METHOD="POST" ACTION="user">
What's your name? <INPUT TYPE="TEXT" NAME="username" SIZE=20>`
サーブレットのコード
package test;
......
UserBean ub = new UserBean();
String name = request.getParameter("username");
ub.setFirstName(name);
request.setAttribute("user",ub);
RequestDispatcher rd=request.getRequestDispatcher("/getJsp.jsp");
rd.forward(request,response);
サーブレットと Bean の両方が test というパッケージに配置されます。
UserBean のコード:
private String firstName;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
System.out.println(firstName);
}
Bean から、サーバー コンソールに名前の適切な値を出力できます。サーブレットから値を設定した後、getJsp.jsp という JSP から Bean 値にアクセスしようとしています。
getJsp.jsp
<table>
<jsp:useBean id="user" type="test.UserBean" class="test.UserBean" scope="request" >
<tr>
<td> Id : </td>
<td> <jsp:getProperty name="user" property="firstName"/></td>
</tr>
</jsp:useBean>
</table>
JSP から Bean プロパティにアクセスすると、次のエラーが発生します。
org.apache.jasper.JasperException: /getJsp.jsp (行:10、列:1) useBean クラスの属性 UserBean の値が無効です。
このエラーのコードの問題を理解できません。助けてください。
ありがとうございました。