我有一个简单的Spring Boot Starter Web应用程序。我想提供几个静态html文件。
我知道我可以使用Spring Boot提供静态文件,只需简单地将其放入我的src/main/Resources
的/静态
子目录。
当我创建文件(例如)/静态/docs/index.html
时,我可以通过http://localhost:8080/docs/index.html
访问它。
我想要实现的是只需使用http://localgost:8080/docs
其中索引。html是由Spring隐式添加的。
我需要通过
localhost:8080/{path}
路径在资源中的/静态/{path}/index.html
中提供静态文件。
我知道我可以在控制器中手动创建映射,但当有许多文件要提供服务时,这就变得很烦人了。
这会有用的
@Configuration
public class AppConfig implements WebMvcConfigurer {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/docs").setViewName("forward:/docs/index.html");
}
}
或所有静态子目录的可能解决方案(丑陋版本)
public void addViewControllers(ViewControllerRegistry registry) {
File file;
try {
file = new ClassPathResource("static").getFile();
String[] names = file.list();
for(String name : names)
{
if (new File(file.getAbsolutePath() + "/" + name).isDirectory())
{
registry.addViewController("/" + name).setViewName("forward:/" + name +"/index.html");
}
}
} catch (IOException e) {
// TODO: handle error
e.printStackTrace();
}
}
我有一个结构,下面的运算符声明: 仅此运算符就可以将不可为null的结构隐式转换为int,但尝试隐式转换其可为null的对应结构仍会引发编译错误: 无法隐式转换类型
问题内容: 我是初学者。我了解基本等待的内容,但是我对互联网上的不同教程如何放置并进行解释感到困惑。例如,在下面的代码中,将其放置在加载URL之前。因此,是否只是等待URL加载或查找元素或两者兼而有之?的确,如果我在try块中使用一次隐式等待,它是否适用于我在代码中执行的每个元素搜索? 问题答案: 隐式等待 ImplicitWait按照该Java文档是指定的时间量 webdriver的 情况下,即
我是初学者。我了解Wait的基本功能,但我对互联网上不同的教程如何放置和解释它感到困惑。例如,在下面的代码中,它是在加载URL之前放置的。那么,是只等待加载URL,还是等待查找元素,或者两者都是?如果我在try块中使用隐式等待一次,它将适用于我在代码中执行的每个元素搜索,这是真的吗?
问题内容: 想要有关对象的某些调试信息时,我曾经使用toString的隐式调用,因为在对象为null的情况下,它不会引发Exception。 例如: 代替: 除了null以外,还有什么区别吗? 如果前者不起作用,后者可以工作吗? 编辑: 在隐式调用的情况下,到底做了什么? 问题答案: 没有什么区别。使用较短且经常使用的那一种。 如果您实际上由于其他原因想要获取对象的字符串值,并且希望它为null友
一、隐式转换 1.1 使用隐式转换 隐式转换指的是以 implicit 关键字声明带有单个参数的转换函数,它将值从一种类型转换为另一种类型,以便使用之前类型所没有的功能。示例如下: // 普通人 class Person(val name: String) // 雷神 class Thor(val name: String) { // 正常情况下只有雷神才能举起雷神之锤 def hamm
我似乎无法理解为什么我从identityserver获取未经授权的客户端。我使用带有Angular 4 ui和asp.net核心web API的oidc客户端。我无法连接到identity server,因为每次它返回时,我的客户端都是未经授权的客户端。 这是已注册的客户端: 这是Angular中的身份验证服务: 最后,我像这样调用identityserver: 发送的请求如下:http://lo