Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用jsp显示空结果_Java_Jsp_Jakarta Ee_Web Applications - Fatal编程技术网

Java 使用jsp显示空结果

Java 使用jsp显示空结果,java,jsp,jakarta-ee,web-applications,Java,Jsp,Jakarta Ee,Web Applications,我对动态web项目的概念还不熟悉,我做了以下两个JSP和一个java类作为刚刚开始的实验。 下面是我的代码 user.java package com; public class User { private String name; private int Id; public int getId() { return Id; } public void setId(int id) { Id = id; }

我对动态web项目的概念还不熟悉,我做了以下两个JSP和一个java类作为刚刚开始的实验。 下面是我的代码

user.java

package com;

public class User {

    private String name;
    private int Id;

    public int getId() {
        return Id;
    }

    public void setId(int id) {
        Id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}
index.jsp

在此处插入标题 名称 身份证件 同样是First.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Hello</title>
</head>
<body>
    <jsp:useBean id="user" class="com.User" />
user is :<%= user.getName() %><BR>
Id is :<%= user.getId() %><BR>



</body>
</html>

你好
用户是:
Id为:
但这两个值都显示为null。我知道这是一个非常简单的程序。但我没有正确理解这个概念


谢谢

您的
jsp:useBean
在First.jsp中使用默认构造函数创建
com.User
的实例,该构造函数将
name
id
都设置为null。因此,当您打印它们的值时,您的
jsp:useBean
在First.jsp中使用默认构造函数创建
com.User
的实例,该构造函数将
name
id
都设置为null。因此,当您打印它们的值时,会得到null。

Move

<jsp:useBean id="user" class="com.User" />
<jsp:setProperty name="user" property="*"/> 

index.jspFirst.jsp

请求参数提交到First.jsp,而不是index.jsp

 <jsp:setProperty name="user" property="*"/>

用请求参数中的属性填充用户bean的属性。表单被提交到First.jsp,它接收请求参数。

Move

<jsp:useBean id="user" class="com.User" />
<jsp:setProperty name="user" property="*"/> 

index.jspFirst.jsp

请求参数提交到First.jsp,而不是index.jsp

 <jsp:setProperty name="user" property="*"/>


用请求参数中的属性填充用户bean的属性。表单被提交到First.jsp,它接收请求参数。

会话中没有任何用户对象,因此现在需要做的就是使用
jsp:setProperty
tag

useBean
标记将在
会话中查找“
user
”的实例

如果实例已经存在,它将更新旧实例。否则,它将创建用户的新实例并将其放入会话中

您以前没有将
用户
bean放入会话中。因此会创建具有空值的新实例


会话中没有任何用户对象,因此现在只需使用
jsp:setProperty
tag

useBean
标记将在
会话中查找“
user
”的实例

如果实例已经存在,它将更新旧实例。否则,它将创建用户的新实例并将其放入会话中

您以前没有将
用户
bean放入会话中。因此会创建具有空值的新实例


您正在向First.jsp提交表单数据。但在First.jsp中没有处理/处理请求参数的位置。因此,请尝试First.jsp中的一些内容:

 <jsp:useBean id="user" class="com.User" scope = "request" />

<jsp:setProperty property="name" value="<%= request.getParameter("name") %>"name="user" />
<jsp:setProperty property="Id" value="<%= request.getParameter("Id") %> name="user" />

 Name: <jsp:getProperty property = "name" name="user" />
 Id : <jsp:getProperty property = "Id" name="user" />


您正在向First.jsp提交表单数据。但在First.jsp中没有处理/处理请求参数的位置。因此,请尝试First.jsp中的一些内容:

 <jsp:useBean id="user" class="com.User" scope = "request" />

<jsp:setProperty property="name" value="<%= request.getParameter("name") %>"name="user" />
<jsp:setProperty property="Id" value="<%= request.getParameter("Id") %> name="user" />

 Name: <jsp:getProperty property = "name" name="user" />
 Id : <jsp:getProperty property = "Id" name="user" />


使用JSTL标记。它具有默认值的默认属性。如果值为空,则将显示默认值

使用JSTL标记。它具有默认值的默认属性。如果值为空,则将显示默认值

您是否在某处设置属性中创建了用户实例?首先将变量“int Id”重命名为“int Id”您是否在某处设置属性中创建了用户实例?首先将变量“int Id”重命名为“int Id”