小编woo*_*nja的帖子

在不使用HttpClient的情况下将已处理JSP的内容放入spring控制器?

因此,通常在Spring控制器中,您只需返回一个ModelAndView对象并将请求转发给JSP.

我需要做的是实际得到的是处理JSP的内容,这样我就可以在一个JSONP响应发送(例如:callback("processed HTML from JSP");)

我知道我可以HttpClient用来获取内容但是想知道是否有办法通过调用类似的东西来避免这个额外的步骤:

String contents = processJSP(modelAndView);
Run Code Online (Sandbox Code Playgroud)




更新为极客以显示我的最终解决方案:

首先,您需要一个假的HttpResponse来保存响应:

@Service
public class SpringUtils {
    private static final Logger LOG = Logger.getLogger(SpringUtils.class);

    @Autowired private ViewResolver viewResolver;
    @Autowired private LocaleResolver localeResolver;

    public String renderView(HttpServletRequest request, ModelAndView mav) {
        try {
            View view = viewResolver.resolveViewName(mav.getViewName(), localeResolver.resolveLocale(request));
            HttpServletResponse localResponse = new MyHttpServletResponseWrapper(new DummyResponse());

            view.render(mav.getModel(), request, localResponse);

            return localResponse.toString();
        } catch (Exception e) {
            return "";
        }
    }

    public boolean doesViewExist(HttpServletRequest request, String viewName) {
        try …
Run Code Online (Sandbox Code Playgroud)

java spring-mvc

5
推荐指数
1
解决办法
2289
查看次数

在由多个子类扩展的超类中自动装配Spring bean

将一大堆@Autowired bean放在超类中是否有任何缺点,这些bean在该类中没有使用,而是在扩展超类的子类中使用?

java spring autowired

2
推荐指数
1
解决办法
5008
查看次数

标签 统计

java ×2

autowired ×1

spring ×1

spring-mvc ×1