gpt4 book ai didi

java - 自动存储JSF页面的html代码

转载 作者:行者123 更新时间:2023-12-01 15:13:13 25 4
gpt4 key购买 nike

我有一个 JSF (IceFaces 1.8.2) 网站。我需要以下功能:当显示特定的 JSF 页面时,我想将其 HTML 代码存储在数据库中。我尝试使用 Servlet 过滤器来捕获代码(使用 HttpResponseWrapper 对象,因为它是在 SUN 网页和许多教程中编写的),但响应始终为空。有人可以帮助我吗?

这是 doFilter:

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {

Wrapper responseWrapper = new Wrapper((HttpServletResponse)response);
chain.doFilter(request, responseWrapper);
//I just want the output on stdout at the moment...
System.out.println(responseWrapper.toString());
PrintWriter out = response.getWriter();
out.write(responseWrapper.toString());
}

这是包装器:

public class Wrapper extends HttpServletResponseWrapper{
private CharArrayWriter writer;
public Wrapper(HttpServletResponse response){
super(response);
writer = new CharArrayWriter();
}

public PrintWriter getWriter(){
return (new PrintWriter(writer));
}

public String toString(){
return writer.toString();
}

public char[] toCharArray(){
return (writer.toCharArray());
}
}

还有 web.xml:

<filter>
<filter-name>MyFilter</filter-name>
<filter-class>foo.myfilter</filter-class>
</filter>
<filter-mapping>
<filter-name>MyFilter</filter-name>
<url-pattern>*.iface</url-pattern>
</filter-mapping>

最佳答案

也许 JSF 会发送重定向,或者使用 response.getOutputStream() 写入响应?尝试在 HttpServletResponseWrapper 的所有方法中设置断点以发现 JSF 调用了哪些方法。

关于java - 自动存储JSF页面的html代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12020291/

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