gpt4 book ai didi

java - 如何在Java中访问JSP隐式对象,例如(请求,响应)

转载 作者:太空宇宙 更新时间:2023-11-04 08:06:34 26 4
gpt4 key购买 nike

如何在Java中传递JSP隐式对象,例如(请求,响应)。我想在Java代码中访问JSP隐式对象。请建议如何实现这一目标?

我的 Java 代码是:

package test.here;
import java.sql.*;
import java.util.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.ibm.commerce.server.WcsApp;
import com.ibm.commerce.server.JSPHelper;

public class SomeBean {
String punchOutRes = null;
HttpServletResponse response;
HttpServletRequest request;

public String getPunchOutRes() {
response.setContentType("text/xml");
return "testing";
}
}

在这里,当我尝试设置或获取请求和响应中的任何内容时,我收到 NUllPointerException

最佳答案

您可以使用 <jsp:setProperty 将对象传递给 bean和 EL 表达式。您必须修改 bean 的 getter 和 setter 方法。

public class SomeBean {
String punchOutRes = null;
HttpServletResponse response;
HttpServletRequest request;

public HttpServletResponse getResponse() {
return response;
}

public void setResponse(HttpServletResponse response) {
this.response = response;
try {
response.getWriter().println("Some Output");
} catch (IOException e) {
e.printStackTrace();
}
}

public HttpServletRequest getRequest() {
return request;
}

public void setRequest(HttpServletRequest request) {
this.request = request;
}

public String getPunchOutRes() {
response.setContentType("text/xml");
return "testing";
}
}

然后在JSP中使用

<jsp:useBean id="someBean" class="beans.SomeBean" scope="request"/>
<jsp:setProperty name="someBean" property="request" value="${pageContext.request}"/>
<jsp:setProperty name="someBean" property="response" value="${pageContext.response}"/>

关于java - 如何在Java中访问JSP隐式对象,例如(请求,响应),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11984371/

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