Javascript 如何在html中获取正文
我想在浏览器中显示控制器(使用Spring)返回的响应实体: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
返回新的响应属性(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);
}
}