<jsp:setproperty name="Test" property="*">
これは何を意味するのでしょうか?
「指定されたJavaBeanインスタンスにプロパティを設定する」という定義があることは知っています。では、javaBean テストでもプロパティを設定するのは何ですか?
完全な例を次に示します。
Form.html
<form method="POST" action="processForm.jsp">
<input name="name"/>
<input name="username"/>
<input name="jobTitle"/>
<input name="city"/>
<input type="submit">
フォームはユーザーからの入力を収集し、それを processForm.jsp ページにポストします。
processForm.jsp
<%@ page import = "com.Employee"%>
...
<jsp:useBean id="employee" type="com.Person" class="com.Employee">
<jsp:setProperty name="employee" property="*"/>
</jsp:useBean>
このアクションは、 com.Employee参照によって参照されるタイプcom.Person<jsp:useBean>
のオブジェクトを作成します。
この<jsp:setProperty>
アクションは、各入力要素の名前をEmployeeオブジェクトの getter メソッドの名前と一致させます。
例:とname
一致しgetName
、 とjobTitle
一致しgetJobTitle
ます。以下は従業員クラスです。Personインターフェイスは含めていません。
従業員.java
public class Employee implements Person{
private String name;
private String username;
private String jobTitle;
private String city;
public String getJobTitle() {
return jobTitle;
}
public void setJobTitle(String jobTitle) {
this.jobTitle = jobTitle;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getUsername() {
return username ;
}
public void setUsername(String username) {
this.username = username;
}
}
この標準アクションに関する注意事項。
アスタリスク (*) は、アクションのプロパティ属性値として使用されます。これは、ページに送信されたリクエスト パラメータと一致する名前を持つすべての Bean プロパティが自動的に設定されることを意味します。