当前位置: 首页 > 知识库问答 >
问题:

如何在html中获取正文

况野
2023-03-14

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

返回新的响应实体

l.getReachableDate()返回一个Date类型,我想以如下方式显示:

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

我怎样才能把它展示出来?

共有2个答案

谢善
2023-03-14

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

查看以下链接:

https://stackoverflow.com/a/21115267/5039001

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

https://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc

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

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

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

徐高懿
2023-03-14

我还是不明白你为什么要这么做但这样应该行得通

@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);
}

经过一些评论......

与其将用户重定向到未找到的资源页面,不如使用ResourceNotFoundRuntimeException(extends RuntimeException)并注册MVC异常处理程序(这是prem kumar建议的,但不使用自定义的异常html文本):

public class ResourceNotFoundRuntimeException extends RuntimeException{
...
}

处理程序

@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);
    }
}
 类似资料:
  • 问题内容: 不使用任何外部库,将网站的HTML内容提取为String的最简单方法是什么? 问题答案: 我目前正在使用此: 但不确定是否有更好的方法。

  • 问题内容: 我将以下内容作为POST提交到php页面: 这是请求(POST请求)的主体。 在php中,我该怎么做才能提取该值? 不是解决方案,不能正常工作。 问题答案: 要访问POST或PUT请求(或任何其他HTTP方法)的实体主体,请执行以下操作: 另外,该常量是的已经开放的流,因此您可以选择执行以下操作: php:// input 是一个只读流,允许您从请求正文中读取原始数据。对于POST请求

  • 我是测试新手,如果我的问题听起来有点初级,我会提前道歉。 我正在使用Selenium和Java编写一个测试。 我知道webElement。getAttribute(“innerHTML”) 为我带来了innerHTML,例如下面的元素: 它返回: 但我需要一些东西来为我带来WebElement“a”的内部属性,如下所示:

  • 我有我的python代码,在那里我使用html文件。请参阅以下代码: 这给了我一个html页面,它有一个包含两个字段的表单和一个提交按钮。我使用虚拟环境来运行这个。 现在我想在我的程序中获取字段first name和last name,这样当用户单击submit时,我想显示Hello“first name”“last name” 目的:-学习如何在python文件中提供代码时获取html元素值。

  • 在Spring,我找到了一个给定url的MockMVC: 太好了。现在我想看看这将返回的html是什么。我该怎么做?我想要它的字符串表示(即String theHtml=...),这样我就可以解析它并在我的测试中检查它。

  • 问题内容: 我想在PHP中检索链接(网页)的HTML代码。例如,如果链接是 那么我要提供该页面的HTML代码。我想检索此HTML代码并将其存储在PHP变量中。 我怎样才能做到这一点? 问题答案: 如果您的PHP服务器允许使用url fopen包装器,则最简单的方法是: 如果需要更多控制,则应查看cURL函数: