<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>
<jsp:useBean>
操作创建一个 com.Person 类型的对象,由 com.Employee 引用引用。
<jsp:setProperty>
action 将每个输入元素的名称与 Employee 对象中的 getter 方法的名称相匹配。
例如:name
与 getName
匹配和 jobTitle
匹配 getJobTitle
.下面是 Employee 类。我没有包括 Person 接口(interface)。
员工.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;
}
}
这个标准 Action 的注意事项。
- 输入元素的名称必须与目标对象的 getter 方法相匹配。名称 --> getName 等
- 注意类型。您不能匹配到 map 或数组
- 如果属性是一个对象,则同样如此。它需要单独处理。
- 如果 Employee 中的属性类型是 int 并且在表单中输入的值不可转换为 int,则将抛出 java.lang.NumberFormatException。
关于java - jsp:setproperty 属性 ="*"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19274554/