[解決済み] テンプレート "index "の解決に失敗しました。テンプレートが存在しないか、設定されたテンプレートリゾルバでアクセスできない可能性があります。
2022-02-04 07:08:14
質問事項
この質問は以前にもありましたが、私の問題は解決されず、奇妙な機能を得ることができました。
もし私が
index.html
ファイルを、このように静的ディレクトリに置きます。
ブラウザで以下のエラーが表示されます。
そして、私のコンソールでは
[THYMELEAF][http-nio-8080-exec-3] Exception processing template "login":
Exception parsing document: template="login", line 6 - column 3
2015-08-11 16:09:07.922 ERROR 5756 --- [nio-8080-exec-3] o.a.c.c.C.[.[.[/].
[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet]
in context with path [] threw exception [Request processing failed; nested
exception is org.thymeleaf.exceptions.TemplateInputException: Exception
parsing document: template="login", line 6 - column 3] with root cause
org.xml.sax.SAXParseException: The element type "meta" must be terminated by
the matching end-tag "</meta>".
しかし、index.htmlファイルをtemplatesディレクトリに移動すると、ブラウザで次のようなエラーが表示されます。
ビューリゾルバを追加しました。
@Controller
@EnableWebMvc
public class WebController extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/index").setViewName("index");
registry.addViewController("/results").setViewName("results");
registry.addViewController("/login").setViewName("login");
registry.addViewController("/form").setViewName("form");
}
@RequestMapping(value="/", method = RequestMethod.GET)
public String getHomePage(){
return "index";
}
@RequestMapping(value="/form", method=RequestMethod.GET)
public String showForm(Person person) {
return "form";
}
@RequestMapping(value="/form", method=RequestMethod.POST)
public String checkPersonInfo(@Valid Person person, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return "form";
}
return "redirect:/results";
}
@Bean
public ViewResolver getViewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("templates/");
//resolver.setSuffix(".html");
return resolver;
}
@Override
public void configureDefaultServletHandling(
DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
}
WebSecurityConfig.java
@Configuration
@EnableWebMvcSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/", "/index").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.permitAll();
}
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth
.inMemoryAuthentication()
.withUser("user").password("password").roles("USER");
}
}
index.html
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
<meta>
<meta> charset="UTF-8">
<title></title>
</head>
<body>
<h1>Welcome</h1>
<a href="../../login.html"><span>Click here to move to the next page</span></a>
</body>
</html>
この時点では、何が起こっているのかわかりません。どなたかアドバイスをお願いします。
更新情報
のタイプミスがありました。
index.html
しかし、まだ同じエラーが発生しています。
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
<head>
<meta> charset="UTF-8">
<title></title>
</head>
<body>
<h1>Welcome</h1>
<a href="../../login.html"><span>Click here to move to the next page</span></a>
</body>
</html>
解決方法は?
コンソールでは、ログイン時に競合が発生していることを伝えています。と表示されます。
index.html
タイムリーフです。のようなものです。
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3"
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>k</title>
</head>
関連
-
[解決済み】Bad Request - このホストとポートの組み合わせはTLSが必要です。
-
[解決済み] クラスパスに @ConfigurationProperties Spring Boot Configuration Annotation Processor が見つかりません。
-
[解決済み] 宛先の JMS 接続を更新できませんでした。原因:認証に失敗
-
[解決済み] このリソースにアクセスするには、生成されたアクセストークンを使用して完全な認証を行う必要があります。
-
[解決済み] Bad Request - このホストとポートの組み合わせはTLSが必要です。
-
[解決済み] org.apache.kafka.common.KafkaException: カフカコンシューマーの構築に失敗した
-
属性値は一定でなければならない
-
[解決済み] Entity上で@AllArgsConstructorと@NoArgsConstructorを併用する理由とは?
-
[解決済み] 文字列のリストに対するSpring Bootのyaml設定
-
[解決済み] SpringBootのLogbackを無効にする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Bad Request - このホストとポートの組み合わせはTLSが必要です。
-
[解決済み] クラスパスに @ConfigurationProperties Spring Boot Configuration Annotation Processor が見つかりません。
-
[解決済み] テンプレート "index "の解決に失敗しました。テンプレートが存在しないか、設定されたテンプレートリゾルバでアクセスできない可能性があります。
-
[解決済み] 宛先の JMS 接続を更新できませんでした。原因:認証に失敗
-
[解決済み] このリソースにアクセスするには、生成されたアクセストークンを使用して完全な認証を行う必要があります。
-
[解決済み] Bad Request - このホストとポートの組み合わせはTLSが必要です。
-
[解決済み] org.apache.kafka.common.KafkaException: カフカコンシューマーの構築に失敗した
-
属性値は一定でなければならない
-
[解決済み] 文字列のリストに対するSpring Bootのyaml設定
-
[解決済み] SpringBootのLogbackを無効にする