楼主:
pttnews (PTT新闻)
2014-10-17 15:16:32String style = (String)request.getParameter("style");
switch (new Integer(style)){
case 1:
request.getRequestDispatcher("/index1.jsp").forward(request, response);
break;
case 2:
request.getRequestDispatcher("/index2.jsp").forward(request, response);
break;
case 3:
request.getRequestDispatcher("/index3.jsp").forward(request, response);
break;
default:
request.getRequestDispatcher("/index1.jsp").forward(request, response);
break;
}
/*
我想在这边加一段Java Code 修改response(HttpServletResponse) 的html内容。
不更动jsp file
*/
请问各位大师,该如何修改呢?
谢谢~
作者:
bitlife (BIT一生)
2014-10-22 21:18:00呃,wrapper在filter中蛮常见,但你这题倒不见得需要filter毕竟filter主要是面对外界的request,而某些jsp有可能是纯内部用或不经filter. 不过,若问题有急迫性先解决比较重要正规作法是在程式里直接用wrapper给jsp(callee)一个像[VM]一样的环境,然后用request dispatcher叫用该jsp,另外记得弄个自订的output stream设给response wrapper,看是要output到byte array或file,另外要处理一些getWriter等的细节,呼叫完再从output stream的所在取出结果.这个作法正规. (现在没有推文秒数限制,推起来爽多了 XD)这个弄好,以后很好用,例如你有个jsp是产生报表的,可以直接叫用取得报表输出,而不用用http client去取得,有些jsp对外界隐藏,http client连不到,用这个方法都可以这概念简单讲,就是把jsp/servlet等,当成像unix的pipe小工具来叫用,把它输出导向到自己所要的地方(ram or file)