【问题标题】:org.apache.jasper.JasperException: An exception occurred processing JSP page [/ch3/dataBean/Edit.jsp] at line [23]org.apache.jasper.JasperException:在第 [23] 行处理 JSP 页面 [/ch3/dataBean/Edit.jsp] 时发生异常
【发布时间】:2019-02-13 12:24:18
【问题描述】:

我不明白为什么我会收到错误消息。我将假设这可能是其他 JSP 上发生的错误,但是一旦我得到帮助,我就可以解决剩下的问题。

import ch2.servletController. * ;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Controller extends HttpServlet {

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException,
    IOException {
        RequestData data = new RequestData();
        request.getSession().setAttribute("refData", data);
        data.setData(request.getParameter("Data"));
        data.setData2(request.getParameter("Data2"));

        String address;
        if (request.getParameter("processButton") != null) {
            address = "Process.jsp";
        }
        else if (request.getParameter("submitButton") != null) {
            address = "Confirm.jsp";
        }
        else {
            address = "Edit.jsp";
        }
        RequestDispatcher dispatcher = request.getRequestDispatcher(address);
        dispatcher.forward(request, response);
    }
}

package ch3.dataBean;

/**
  *
  * @author Alex
*/
public class RequestData {
    protected String Data;
    protected String Data2;

    public RequestData() {}

    public void setData(String Data) {
        this.Data = Data;
    }

    public String getData() {
        return Data;
    }

    public void setData2(String Data2) {
        this.Data2 = Data2;
    }

    public String getData2() {
        return Data2;
    }
}

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

  <head>
  <meta charset=?utf-8?>
  <title> Simple Form </title>
  </head>

  <body>
    <p>Please enter valid data and data2 to submit.
    <form Controller="/ch3/dataBean/Controller">
      <p> The data was received as: <strong>${param.Data}</strong>   
      <p> The data2 was received as: <strong>${param.Data2}</strong>

      <input type="text" name="Data" value="${refData.Data};">
      <input type="text" name="Data2" value="${refData.Data2};"> 
      <input type="submit" name="submitButton" value="Submit"> 
     </form>
   </body>

</html>

下面我添加了错误堆栈的片段以提供更多详细信息。我猜问题是字符串 Data 和 Data2 的名称,但我不完全确定

error stack trace

【问题讨论】:

    标签: java jquery html


    【解决方案1】:

    你是对的。错误的原因是您为 bean 的属性选择的名称。您应该将名称 Data 和 Data2 更改为 data 和 data2。这样,您将符合标准。请参阅第 8 章https://download.oracle.com/otn-pub/jcp/7224-javabeans-1.01-fr-spec-oth-JSpec/beans.101.pdf
    你需要使用

    protected String data; protected String data2;

    并像规范中所示更改设置器和获取器。

    public void setData(String data) {
        this.data = data;
    }
    
    public String getData() {
        return data;
    } 
    
    public void setData2(String data2) {
        this.data2 = data2;
    }
    
    public String getData2() {
        return data2;
    }
    

    在你的 JSP 中使用

    value="${refData.data}"
    

    【讨论】:

      猜你喜欢
      • 2014-09-14
      • 2013-08-09
      • 2013-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-17
      • 2014-07-25
      • 1970-01-01
      相关资源
      最近更新 更多