我想在浏览器中显示由控制器(使用Spring)返回的响应实体的主体:
返回新的响应实体
l.getReachableDate()
返回一个Date类型,我想以如下方式显示:
<header>
<h1><span>Url is not reachable from</span> <!-- body --> </h1>
</header>
我怎样才能把它展示出来?
如果希望使用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;
}
}
现在,您可以全局重用此异常。请注意,您需要为此异常设置相应的异常处理程序,您可以访问上面的共享链接。
我还是不明白你为什么要这么做但这样应该行得通
@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函数: