Java setProperty中“*”的意义是什么?

Java setProperty中“*”的意义是什么?,java,jsp,Java,Jsp,正在学习期末考试,在一些代码中遇到了这一点 <jsp:setProperty name="test" property="*" /> 这个*的意义是什么?它在干什么 这意味着它将在匹配的Bean属性中存储所有 请求参数中的值。Bean属性的名称必须为 与请求参数匹配 因此,考虑到bean: package example; public class Bean { private String test; public String getTest() {

正在学习期末考试,在一些代码中遇到了这一点

<jsp:setProperty name="test" property="*" />
这个*的意义是什么?它在干什么

这意味着它将在匹配的Bean属性中存储所有 请求参数中的值。Bean属性的名称必须为 与请求参数匹配

因此,考虑到bean:

package example;
public class Bean {

    private String test;

    public String getTest() {
        return test;
    }

    public void setTest(String test) {
        this.test = test;
    }

}
以及JSP test2.JSP:

它根据匹配的请求参数自动设置bean属性。*表示传入的请求将与bean中的属性同名

这个:

<jsp:setProperty name="user" property="employeeId" param="*"/>
相当于:

<jsp:setProperty name="user" property="employeeId" param="employeeId"/>
如果您的场景如下所示,则不能使用*:

对于上述情况,您需要手动执行映射:

<jsp:setProperty name="user" property="employeeId" param="userId"/>

正如人们所料,星号表示通配符;它将设置与传入请求参数匹配的每个bean字段。通常,这是通过和来完成的。

一些示例:

将提交请求的所有值设置到bean中

将传入请求的值设置为特定属性


将用户在称为请求参数的可查看JSP页面中输入的所有值存储在匹配的bean属性中。bean中属性的名称必须与请求参数的名称相匹配,请求参数通常是HTML表单的元素。bean属性通常由具有匹配getter和setter方法的变量声明定义。有关详细信息,请参阅。

。查找setProperty。
<jsp:setProperty name="user" property="employeeId" param="employeeId"/>
<jsp:setProperty name="user" property="employeeId" param="userId"/>
<jsp:setProperty name="bean" property="*" />  
<jsp:setProperty name="bean" property="username" />