gpt4 book ai didi

java - HTTP 状态 500 - 文件 :/survey. jsp(16,15) jsp :getProperty for bean with name 'survey' . 之前未按照 JSP.5.3 引入名称

转载 作者:行者123 更新时间:2023-11-29 09:01:03 26 4
gpt4 key购买 nike

大家好,我是 JSP 和 JavaBean 的新手。我正在通过编写一个应用程序来练习,其中多个页面将共享一个 javabean 组件。 “check.jsp”页面实例化 bean 并设置属性,没有任何错误。但是每当我尝试在另一个 jsp survey.jsp 中获取属性时,我都会得到错误:

HTTP Status 500 - file:/survey.jsp(16,15) jsp:getProperty for bean with name 'survey'. Name was not previously introduced as per JSP.5.3

我仔细检查了 get 和 set 属性中的名称是否与我在 action 元素中的 bean id 完全相同。我需要帮助

CHECK.jsp:

    <%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<jsp:useBean id="survey" scope="application" class="appScope.SurveyBean"/>
<jsp:setProperty name="survey" property="quantity" value='<%= request.getParameter("title")%>' />

<form action="/appScope/survey.jsp" method="POST">
<h3> Thanks for your input</h3>
<h3> Please check the survey summary status if you want</h3><br/>
<input type="submit" value="Check Status" />
</form>
</body>
</html>

这是我的javabean:SurveyBean.java:

 package appScope;

public class SurveyBean {
private int javaQuantity = 0;
private int csQuantity = 0;

public int getJavaQuantity()
{
return javaQuantity;
}

public int getCsQuantity()
{
return csQuantity;
}

public void setQuantity(String bookTitle)
{
try
{
if(bookTitle.equals("java"))
{
javaQuantity++;
}
if (bookTitle.equals("c"))
{
csQuantity++;
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}

这里是 survey.jsp 我得到错误的地方:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<h1>Survey Summary</h1>
//ERROR IS HERE
Java = <jsp:getProperty name="survey" property="javaQuantity" /> <br/>
C# = <jsp:getProperty name="survey" property="csQuantity" />
</body>
</html>

最佳答案

Name was not previously introduced

这表明您还没有将这个 bean 告诉 JSP。您正在直接使用 <jsp:getProperty>在让 JSP 知道 bean 之前。

您需要使用 <jsp:useBean>survey.jsp 中定义 bean 的标签。name getProperty 的属性标记必须与 id 匹配useBean 的属性标签:

<jsp:useBean id="survey" class="appScope.SurveyBean" scope="request">

但这不会起作用,除非您设置名为 survey 的 bean。在 check.jsp 文件的请求范围内并将该请求发布到 survey.jsp

关于java - HTTP 状态 500 - 文件 :/survey. jsp(16,15) jsp :getProperty for bean with name 'survey' . 之前未按照 JSP.5.3 引入名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17398495/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com