Javascript 后处理Wicket响应(Rhino,jQuery)
我的问题是,是否有一种方法可以简单地对wicket HTML响应进行后期处理 我想做的是使用Rhino对生成的HTML应用一些DOM转换(http://www.mozilla.org/rhino/)和jQuery。 有人想过吗?从哪里开始有什么建议吗 最好的, 马切伊·沃扎利克Javascript 后处理Wicket响应(Rhino,jQuery),javascript,jquery,wicket,rhino,Javascript,Jquery,Wicket,Rhino,我的问题是,是否有一种方法可以简单地对wicket HTML响应进行后期处理 我想做的是使用Rhino对生成的HTML应用一些DOM转换(http://www.mozilla.org/rhino/)和jQuery。 有人想过吗?从哪里开始有什么建议吗 最好的, 马切伊·沃扎利克 好的,我有这个: public class MyRequestCycle extends WebRequestCycle { public MyRequestCycle(WebApplication appli
好的,我有这个:
public class MyRequestCycle extends WebRequestCycle {
public MyRequestCycle(WebApplication application, WebRequest request, WebResponse response) {
super(application, request, response);
}
@Override
protected void onEndRequest() {
String responseString = response.toString();
//String newResponseString = process(responseString);
//replace old response content with the newResponseString
super.onEndRequest();
}
}
在方法onEndRequest中,字符串responseString包含HTML代码,我将使用Rhino、Envjs和jQuery对其进行修改,但问题是如何用新的内容替换旧的响应内容?Envjs模拟Rhino下的浏览器环境,特别允许您使用jQuery在服务器端执行DOM操作。我以前在我的项目中使用过它,并且取得了很好的成功。相关资源:
MyRequestCycle扩展WebRequestCycle
),并在那里执行处理(可能通过重写onEndRequest和/或getWebResponse)
要使用自定义RequestCycle,请在应用程序类中重写newRequestCycle:
@Override
public RequestCycle newRequestCycle(Request request, Response response) {
return new MyRequestCycle(this, (WebRequest) request, response);
}
我自己也在使用custom a RequestCycle,这很简单,但我不能100%确定它是否适合您的需要。(我的Wicket经验还是有点有限。)