0

我试图在请求范围内设置值并在我单击按钮弹出窗口打开并获取空值时获取另一个 jsp,因为我的要求是在其他 jsp 上获取按钮的值以验证如果用户在按钮 1 上的两段代码然后find by id 打开文本区域,如果单击按钮 2,然后find by name打开文本区域,则应关闭该弹出窗口

    <HTML>
    <HEAD>
        <TITLE>Using Buttons</TITLE>
        <script type="text/javascript">


               function button1()
               {
                var mywindow= window.open("file.jsp", "file","status=1,width=350,height=150");
         }    

        </SCRIPT>
    </HEAD>

    <BODY>
        <H1>Using Buttons</H1>

         <INPUT TYPE="BUTTON" name="butto" VALUE="Button 1" ONCLICK="button1()"/>
               <% request.setAttribute("button1" ,"butto");%>

       <% request.setAttribute("button1" ,"butto");%>



    </BODY>
</HTML>

这是我的文件 .jsp

<!

DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt"%>
<%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql"%>
<%@ taglib prefix="x" uri="http://java.sun.com/jstl/xml"%>
<%@page
    import="com.nousinfo.tutorial.employee.service.model.bo.EmployeeBO"%>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>

</head>
<%= (String)request.getAttribute("button1") %>
<body>



</body>
</html>

为什么我得到空值的错误是什么

4

1 回答 1

0

通过简单的调用 window.open() 它不会将您的请求范围对象传输到其他 jsp。如果不使用 forward(),您无法将数据从请求范围发送到另一个 JSP;

用法示例

RequestDispatcher rd = servletContext.getRequestDispatcher("/pathToResource");
rd.forward(request, response);

但是,在你的例子中,它不能通过简单地调用 window.open()

于 2012-11-28T11:00:07.377 回答