java - 如何在 View Bean中获取JSP请求和响应

标签 java jsp

我想从 JSP 中删除 scriplet。 在我的 JSP 中,我有一个 scriplet 为

<%response.setContentType("text/xml");%>

我创建了一个 View bean并创建了一个属性作为HttpServletResponse响应 并为此属性添加了 getter/setter。

当我尝试在 ViewBean 中获取响应时,它为 null。 有什么建议可以避免此 NullPointerException 吗?

我的 JSP 代码是:

<jsp:useBean id="test" class="someBean" />
<jsp:setProperty name="test" property="*" />
<jsp:getProperty name="test" property="response" />

ViewBean代码是:

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;
    String test="Hello";
    public HttpServletResponse getResponse() {
        return response;
    }

    public void setResponse(HttpServletResponse response) {
        this.response = response;
    }

    public HttpServletRequest getRequest() {
        return request;
    }

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

    public String getPunchOutRes() {    

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

}

最佳答案

您可以使用 page 指令来删除上面的 scriptlet:

<%@ page contentType="text/xml;charset=ISO-8859-1" %>

通常,您的 bean 代码不应包含任何 servlet 特定信息。

在 servlet 中使用:

request.setAttribute("test", myBean);
request.getRequestDispatcher("page.jsp").forward(request, response);

在JSP中使用:

${test.foo}

其中 foo 显示为

public String getFoo() {
    return foo;
}

在 Bean 类中。

关于java - 如何在 View Bean中获取JSP请求和响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11983398/

相关文章:

java - 使用 @CrossOrigin 时不显示 CORS 响应 header

java - 为什么我的 Apache Tomcat 不能执行简单的 JSP 选择数据库程序?

java - JSP页面只显示文件路径

java - JFrame多种样式

java - 优化数组增量的性能

java - 如何修改Java集成测试的网络连接?

java - JspWriter 类型中的方法 print(boolean) 不适用于参数 (void)

jsp - Struts2 :label : Positions of label and value are inverted

java.sql.SQLException : No suitable driver found for jdbc:hive2://localhost:10000/default while connecting using jsp

java - spring框架如何将属性映射到Java对象?