Javascript 如何在html中获取正文

Javascript 如何在html中获取正文,javascript,html,spring,web,response,Javascript,Html,Spring,Web,Response,我想在浏览器中显示控制器(使用Spring)返回的响应实体: 返回新的响应属性(l.getreachableddate(),HttpStatus.NOT_FOUND) l.getReachableDate()返回一个日期类型,我想用如下方式显示它: <header> <h1><span>Url is not reachable from</span> <!-- body --> </h1> </header&g

我想在浏览器中显示控制器(使用Spring)返回的响应实体:

返回新的响应属性(l.getreachableddate(),HttpStatus.NOT_FOUND)

l.getReachableDate()
返回一个日期类型,我想用如下方式显示它:

<header>
    <h1><span>Url is not reachable from</span> <!-- body --> </h1>
</header>

无法从中访问Url

如何显示它?

如果希望使用spring从服务器端显示整个主体,则可以抛出自定义ResourceNotFoundException并使用spring异常处理程序处理它

查看以下链接:

下面的链接提供了不同的方法

如果希望不同URL具有不同的主体,则可以在ResourceNotFoundException中具有属性html主体,并将主体作为构造函数参数传递,然后引发异常。在异常处理程序中,您可以检索此正文并生成http响应消息

public class ResourceNotFoundException extends RuntimeException{
    private String htmlBody;
    public ResourceNotFoundException(String htmlBody){
        //super(...)
        this.htmlBody = htmlBody;
    }
}

现在可以全局重用此异常。请注意,您需要为此异常设置相应的异常处理程序,您可以访问上面的共享链接。

我仍然不明白您为什么要这样做,但这样应该可以工作

@RequestMapping(value="/controller", method=GET)
public ResponseEntity<String> foo() {
    String content = 
           "<header>"
         + "<h1><span>Url is not reachable from</span>" +  l.getReachableDate() + "</h1>"
         + "</header>";
    HttpHeaders responseHeaders = new HttpHeaders();
    responseHeaders.setContentType(MediaType.TEXT_HTML);

    return new ResponseEntity<String>(content, responseHeaders, HttpStatus.NOT_FOUND);
}
处理程序:

@ControllerAdvice
public class ExceptionHandlerController {

    @ExceptionHandler(ResourceNotFoundRuntimeException .class)
    public ResponseEntity<String> resourceNotFoundRuntimeExceptionHandling(){
        String content = 
               "<header>"
             + "<h1><span>Url is not reachable from</span>" +  l.getReachableDate() + "</h1>"
             + "</header>";
        HttpHeaders responseHeaders = new HttpHeaders();
        responseHeaders.setContentType(MediaType.TEXT_HTML);

        return new ResponseEntity<String>(content, responseHeaders, HttpStatus.NOT_FOUND);
    }
}
@ControllerAdvice
公共类例外HandlerController{
@ExceptionHandler(ResourceNotFoundRuntimeException.class)
公共响应资源未发现运行时异常处理(){
字符串内容=
""
+无法从“+l.getReachableDate()+”访问Url
+ "";
HttpHeaders responseHeaders=新的HttpHeaders();
setContentType(MediaType.TEXT\uHTML);
返回新的ResponseEntity(内容、ResponseHeader、HttpStatus.NOT_FOUND);
}
}

1)为什么不使用普通的Spring MVC方式用JSP模板呈现html文件?2)html示例无效是正确的吗?HTML标题不允许包含设计用于正文的HTML标记,如h1、span…Hi@Ralph。1) 我认为JSP在春天是不允许的。2) 我不知道它是无效的还是不允许的,但它允许我。也许你是对的,这不是一个好方法,尽管它是可以做到的。使用spring呈现HTML页面的典型方式是MVC模式(请看一下图像)。因此,spring控制器构建一个模型(映射),并将其传递给渲染引擎,该引擎将模型的一些属性放入html模板中。Spring支持不同的渲染引擎,最常见的是JSP,另一个新的渲染引擎是Springs和EleAF。(我不打算在没有MVC框架的情况下使用JPS,这不是一种好的风格)@Ralph Okey,现在明白了。是的,我用的是百里香。我可以在html中获取返回ModelAndView的动态数据。然而,我没有得到一个返回回复的解决方案,这就是我的帖子的原因。我实际上是在尝试prem kumar的建议。我抛出一个异常,并在处理程序中返回一个ModelAndView。这样我就可以显示数据。像这样的东西是我想要的,但不起作用。1) 我在MediaType.TEXT_HTML中遇到不兼容的类型错误(它需要MediaType,但它是传递的字符串,在API中应该可以工作…)。2) 我对内容类型行进行注释,但所需的数据不会显示在浏览器中。您可以查看我的公共repo 1)您需要使用:org.springframework.http.MediaType2)您的web中是否定义了404错误页,xml?1)已解决,谢谢2)不,我使用
response.sendRedirect(“notReachable.html”)重定向用户。我只想在我最近发送的图像中添加短语“Url无法访问”。还是什么都没表现出来。3) 我在另一个页面中有相同的html,它们可以工作。我想这是一个混乱:我有头部和身体两个标签,在身体内部我有头部标签。好的,如果我不重定向他,浏览器会显示你是对的。但是我怎样才能让它显示在所需的页面上呢?
@ControllerAdvice
public class ExceptionHandlerController {

    @ExceptionHandler(ResourceNotFoundRuntimeException .class)
    public ResponseEntity<String> resourceNotFoundRuntimeExceptionHandling(){
        String content = 
               "<header>"
             + "<h1><span>Url is not reachable from</span>" +  l.getReachableDate() + "</h1>"
             + "</header>";
        HttpHeaders responseHeaders = new HttpHeaders();
        responseHeaders.setContentType(MediaType.TEXT_HTML);

        return new ResponseEntity<String>(content, responseHeaders, HttpStatus.NOT_FOUND);
    }
}